When it comes to understanding any large code base your approach will always depend on your own preference. Things that I have found useful​ to get started:
- Instead of working on the core inner workings of the code start with checking out the project, building it and using it. Build small demo applications. Go from your personal use case of the project. Often you'll find pieces of the project that you would like to see a little different to be really useful for your case. As you go ahead and make those changes you will understand more and more of the project. There's two advantages to this approach: a) you know exactly what the outcome should be, b) the result matters to you personally and keeps you motivated. - You may find functionality that you would like to have that's just too much for a small and focussed patch - start with writing a plugin for that. - Find areas that are lacking in terms of documentation - developers tend to be really grateful if they don't have to write the documentation themselves and will be happy to answer your in depth questions. - As mentioned earlier in the thread in addition to fixing bugs reading - but also writing - tests is a great way to get started understanding the code base better as well. Make sure to choose an area that is interesting for you and start exploring from there. IMHO the answer to how to understand the code base (and remain motivated to learn more) isn't that much different from how to get started contributing to any open source project: http://commons.apache.org/volunteering.html Isabel -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAFSgB-BXodXZMo8H8ndaQdLShbJF%3DA4J6xqgOMV62RzZgCSPnw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
