-
Notifications
You must be signed in to change notification settings - Fork 42
Software Development
Jon Guyer, Daniel Schwen
- Start small and ensure quality before getting bigger
Comment code generously. Whether it is for other developers working on the code or for yourself a couple of years (months?) in the future.
"Code is more often read than written."
Documentation can be roughly split into API documentation and inline code documentation. The former facilitates reuse of the code. Doxygen is the de facto standard for C++ API documentation, but supports many other languages, such as C, C#, Java, and Python. The latter, inline code comments, improves the readability and should capture the intent of the documented code (which can be very valuable for debugging purposes).
API documentation should be augmented by design documents that offer a high level overview over a code, library, or framework. Design documentation describes the the way different pars of the code fit together and their roles in the overall project.
Key to successful software projects with broad adoption is good end-user documentation. To ease the learning curve for new users, this documentation should contain
- Introductory tutorials
- Examples
- Theory docs
- Reference documentation
To facilitate contributions to a code version control is ...
, metadata, documentation!!!, version control
- Include regression testing (simple tests); use existing tools or build simple scripts. Tests can be run on multiple architectures.
- Apply code verification - Connection of your model to a sharp interface model/asymptotics and analytical or known solutions.
- Home
- Benchmark Presentations
- Peter Voorhees Phase Field Lectures
- Phase-Field Method Recommended Practices
- Workshop Presentations
- Miscellaneous