Download presentation
Presentation is loading. Please wait.
Published byMervyn Stanley Modified over 9 years ago
1
MavHome Software Development Guidelines G. Michael Youngblood Chief Scientist, MavHome The University of Texas at Arlington June 8, 2003
2
Overview " Project Structure " Development Environment (GNU Linux/GCC/Anjuta) Project Building Makefiles/Autotools " Coding Standard (C++/Java/Scripts) " Documentation " Design UML (dia) " API (doxygen) " User Manual (html) " Repository (CVS)
3
Project Structure " Tree Structure " http://tauceti.uta.edu/examples/src_tree.tgz http://tauceti.uta.edu/examples/src_tree.tgz " Example Project " http://tauceti.uta.edu/examples/HASBIT.tgz http://tauceti.uta.edu/examples/HASBIT.tgz " Warning! This is a 24MB file!
4
Development Environment " RedHat GNU Linux 8.0 " GCC 3.2 " Java 1.4.1 " FLTK CORBA Orbacus 4.1.2 " WindowsXP " M$ Visual Studio 7 " Java 1.4.1 " FLTK CORBA Orbacus 4.1.2
5
Development Environment " Eclipse " http://www.eclipse.org http://www.eclipse.org " Anjuta " http://anjuta.sourceforge.net/ http://anjuta.sourceforge.net/
6
Project Building " Make " http://www.eng.hawaii.edu/Tutor/Make/ http://www.eng.hawaii.edu/Tutor/Make/ " http://www.opussoftware.com/tutorial/TutMakefile. htm http://www.opussoftware.com/tutorial/TutMakefile. htm " http://mrbook.org/tutorials/make/ http://mrbook.org/tutorials/make/ " Autotools " http://sources.redhat.com/autobook/ http://sources.redhat.com/autobook/ " http://vipe.technion.ac.il/~shlomif/lecture/Autotools / http://vipe.technion.ac.il/~shlomif/lecture/Autotools /
7
Coding Standard " Why have Code Conventions? " Code conventions are important to programmers for a number of reasons: " 80% of the lifetime cost of a piece of software goes to maintenance. " Hardly any software is maintained for its whole life by the original author. " Code conventions improve the readability of the software, allowing engineers to understand new code more quickly and thoroughly. If you ship your source code as a product, you need to make sure it is as well packaged and clean as any other product you create. Source: Gallery Coding Standards, SourceForge
8
MavHome Coding Standards " C/C++ http://tauceti.uta.edu/standards/coding/cpp.html http://tauceti.uta.edu/standards/coding/cpp.html " Java http://tauceti.uta.edu/standards/coding/java.html http://tauceti.uta.edu/standards/coding/java.html " Scripts (Shell, Perl, Python, etc) http://tauceti.uta.edu/standards/coding/scripts.html http://tauceti.uta.edu/standards/coding/scripts.html
9
Documentation - Design " UML " http://www.omg.org/uml/ http://www.omg.org/uml/ " http://www.uml.org/ http://www.uml.org/ " Useful " Class Diagram " Sequence Diagram " Dia
10
Documentation - API " doxygen " http://www.stack.nl/~dimitri/doxygen/ http://www.stack.nl/~dimitri/doxygen/ " http://www.stack.nl/~dimitri/doxygen/starting.html http://www.stack.nl/~dimitri/doxygen/starting.html
11
Documentation - Users " HTML " http://www.w3c.org/ http://www.w3c.org/ " http://www.w3c.org/MarkUp/ http://www.w3c.org/MarkUp/
12
Documentation - Reports " Latex or M$ Word " http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/ http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/ " http://www.lyx.org/ http://www.lyx.org/
13
Repository - CVS " Concurrent Versions System " http://www.cvshome.org/ http://www.cvshome.org/ " http://www.refcards.com http://www.refcards.com " Cervisia " http://cervisia.sourceforge.net/ http://cervisia.sourceforge.net/
14
Additional Information " Contributing to OpenSource Projects " http://www.kegel.com/academy/opensource.html http://www.kegel.com/academy/opensource.html
15
Questions?
16
Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.