Contributing to Exiv2 » History » Revision 3
Revision 2 (Robin Mills, 12 Apr 2015 13:25) → Revision 3/14 (Robin Mills, 12 Apr 2015 14:05)
h1. Contributing to Exiv2
All help is appreciated.
And you don't need to be a C++ Expert. Testing, forum correspondance, documentation, build, test and other skills are all very useful.
*Principles:*
# Make code as simple as possible
# Shorter code is almost always better
# Every time you find a bug, update the code AND the test harness
# Every time you find a bug, consider if there are more instances of the same fault and fix them.
# Deal with things immediately. Avoid putting things off for another day. There will never be more time than today.
# Always inspect the build server when you've submitted code to be sure it has built and passed the test suite.
http://exiv2.dyndns.org:8080
*To apply these principles:*
# Look for patterns in the code and refactor them into functions.
# Only use MACROs for simple things. (Professor Stroustrup Stoudstroup would say NEVER use macros).
# Eliminate constants in the code. Put them into the header file as a #define or enum to give it a symbolic name.
# Be consistent. (that mostly follows from refactoring into functions).
*Asking for help and code review:*
# Robin is available on Saturday afternoon in England for 1-to-1 with team members via Skype/Hangout/FaceTime.
# If you have to delay anything by more than a day, log an issue in Redmine to be certain it isn't forgotten.
# Read the Forum and contribute. Everybody who asks a question might become a contributor. Courtesy earns rewards.
*Best Practice:* Practice*
# Most of the code in Exiv2 is beautiful and for that we have to thank Andreas. Read the code. Copy the style.
# If in doubt, please ask for help. Remember, Exiv2 is used by millions of people. As a team our strength comes from working together.
*Skills Required:*
# You don't need to be a C++ Expert.
# Testing, forum correspondence, documentation, build, test and other skills are all very useful.
# C++ to work on the core code
*Bios Bios of Team Members:* Members:
* [[ Robin Mills ]]
All help is appreciated.
And you don't need to be a C++ Expert. Testing, forum correspondance, documentation, build, test and other skills are all very useful.
*Principles:*
# Make code as simple as possible
# Shorter code is almost always better
# Every time you find a bug, update the code AND the test harness
# Every time you find a bug, consider if there are more instances of the same fault and fix them.
# Deal with things immediately. Avoid putting things off for another day. There will never be more time than today.
# Always inspect the build server when you've submitted code to be sure it has built and passed the test suite.
http://exiv2.dyndns.org:8080
*To apply these principles:*
# Look for patterns in the code and refactor them into functions.
# Only use MACROs for simple things. (Professor Stroustrup Stoudstroup would say NEVER use macros).
# Eliminate constants in the code. Put them into the header file as a #define or enum to give it a symbolic name.
# Be consistent. (that mostly follows from refactoring into functions).
*Asking for help and code review:*
# Robin is available on Saturday afternoon in England for 1-to-1 with team members via Skype/Hangout/FaceTime.
# If you have to delay anything by more than a day, log an issue in Redmine to be certain it isn't forgotten.
# Read the Forum and contribute. Everybody who asks a question might become a contributor. Courtesy earns rewards.
*Best Practice:* Practice*
# Most of the code in Exiv2 is beautiful and for that we have to thank Andreas. Read the code. Copy the style.
# If in doubt, please ask for help. Remember, Exiv2 is used by millions of people. As a team our strength comes from working together.
*Skills Required:*
# You don't need to be a C++ Expert.
# Testing, forum correspondence, documentation, build, test and other skills are all very useful.
# C++ to work on the core code
*Bios Bios of Team Members:* Members:
* [[ Robin Mills ]]