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.

Reply via email to