Comments (8)
Thanks for pointing this out! Our documentation is definitely lacking in various places and is not complete as it should be.
As far as I know, the README section you mentioned (https://github.com/algorand/go-algorand#project-layout) has the most accurate and up-to-date summary of the project architecture. We also have README files in package subdirectories (https://github.com/algorand/go-algorand/blob/master/ledger/README.md, https://github.com/algorand/go-algorand/blob/master/auction/README.md, https://github.com/algorand/go-algorand/blob/master/agreement/README.md) which describe parts of the code at a finer granularity.
from go-algorand.
@winder + @algoradam, wanted to get your opinion on whether to move, remove, or reorganize https://github.com/algorand/go-algorand/blob/master/docs/architecture.md. (My understanding is that this was part of an older README which was moved here as a partial reorganization.)
from go-algorand.
@derbear I think that we could remove architecture.md
, or move that content to the agreement README.
Perhaps cross linking those READMEs in the project layout as a breadcrumb for people browsing the project would be a better approach?
I think that the Project Layout section is the "hierarchical architecture" doc that you're looking for.
from go-algorand.
@lazaridiscom thanks for the suggestion, I think that a document per package is a fine goal to work towards.
from go-algorand.
Closing myself, as a protest for the far too fast closed other issues.
from go-algorand.
@lazaridiscom I'm sorry that we were not welcoming enough. Although it may not seem like it from your recent experience, our goal is to create a high quality product backed up by high quality code. It sounds like you have some strong opinions backed up by experience and we're eager to benefit from that experience. I think that you've already noticed that golang is a fairly opinionated ecosystem, in attempting to create an idiomatic project our code reflects some of those opinions. Personally, I would prefer if tests living in a separate directory like in a java application, but that isn't how things are done with go.
I would ask that you refrain from personal attacks, that's something we're unable to tolerate. I think there was some frustration from both ends of the conversation and it's truly unfortunate that we reached a communication breakdown.
In the future we'll try to be more welcoming and sorry again that you had a bad experience.
Regards to this specific item, I think that it was the most actionable of your feedback, and a great suggestion. I've created #194 to begin addressing the problem and hopefully the next developer to take a look at our code has a better experience than you did.
from go-algorand.
I'm sorry
Don't be. Just be professional.
I would ask that you refrain from personal attacks, that's something we're unable to tolerate.
And I would ask you to stop accusing me with such nonsense.
It sounds like you have some strong opinions backed up by experience and we're eager to benefit from that experience.
I come form hardware-design. the quality of electronic-devices SDK's are usually high, and this is what I'm used to.
As to the rest of your justifications, explanations etc.:
Amateurs and Mediocre give in to tool-imposed nonsense.
Professionals counter/expose this nonsense, to the benefit of the userbase. And if this means to drop a language-system, then so be it.
Decide what you are.
I'm out here, terribly disappointed by this MIT rooted project. I mean, you sound/feel like a typical low-quality Ethereum project. And I really can't take such projects anymore, discussing things to death, even the most fundamental things.
from go-algorand.
we're eager to benefit from that experience.
Just saw this.
Again: don't close issues that fast, and be aware that contributors here can reopen issues only if closed by themselves.
from go-algorand.
Related Issues (20)
- Unable to restart follower node after an unfinished ledger sync on Windows. HOT 3
- Support algocfg for non-archival relays
- Leverage DHT for Peer-based Discovery/Advertisements HOT 1
- put agreement DB in hot storage tier HOT 1
- Getting blank transaction array when `pending_transaction_info()` is executed. HOT 1
- Official docker images are incompatible with windows server workers on github actions HOT 3
- Build: Flaky Ledger Catchup StateProof Verification Test
- The `DisableAPIAuth` config option causes requests to error if any auth token is present HOT 2
- As a beginner, how should I build my own chain? HOT 3
- The security vulnerability bounty page is "Not Found"
- Missing LedgerStateDelta from OAS spec (and therefore documentation and other SDKs apart from Go) HOT 1
- Measure consensus Nakamoto coefficient HOT 5
- goal should make extra information provided in some API requests available HOT 1
- Documentation and Config Generation: non-archival relays should retain last 20K or more blocks
- There are 11 pages of GitHub issues, some as old as 2019. Let's clean this up? HOT 1
- simulate fails with empty signature on a rekeyed account HOT 15
- Catchpoint is very slow HOT 3
- Add option to store and retrieve deltas HOT 2
- Node's ready status is incorrect while the node is starting HOT 2
- Buggy test?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-algorand.