2 ms·
While I completely support this type of article, I think it still doesn't really help someone get started on meaningful features. It is my impression that you n
by eatonphil 5y ago
While I completely support this type of article, I think it still doesn't really help someone get started on meaningful features. It is my impression that you need to be really embedded in a community (or work for a company that runs the community) to hear about and get a chance to work on meaningful features.
Thankfully there are alternatives! My favorite thing to do when trying to learn a new large FOSS codebase is to implement some redundant function like a plus (+) operator. If you do that in Python or PostgreSQL you can mostly copy-paste from existing functions (don't actually look at the exact one you're copying) and it will take you through the language frontend (lexer/parser) and backend evaluator.
You can do this same kind of technique whether it's a language or not. Just take some kind of redundant feature and copy existing features/modifying as you go along.
I wrote about doing this kind of thing for nginx, as an example: https://notes.eatonphil.com/learning-a-new-codebase-hacking-nginx.html https://notes.eatonphil.com/learning-a-new-codebase-hacking-...
You'll learn a lot about the architecture and build process within a few hours.