140 likes | 151 Views
Teamwork Skills in Software Engineering. 樂倍達數位科技股份有限公司 Kung-Ming Fung kmfung@doubleservice.com 2006/12/20. Outline. Introduction Version Control Coding Standard Discussion ( Q&A ) References. Introduction. Why? 1 + 1 = 2 ??? How?. Version Control. Basic Functions Check-In 。
E N D
Teamwork Skills in Software Engineering 樂倍達數位科技股份有限公司 Kung-Ming Fung kmfung@doubleservice.com 2006/12/20
Outline • Introduction • Version Control • Coding Standard • Discussion(Q&A) • References
Introduction • Why? • 1 + 1 = 2 ??? • How?
Version Control • Basic Functions • Check-In。 • Check-Out。 • Diff.。 • Mergence。 • History。 • Restore。
Software • CVS(Concurrent Versions System)。 • SVN(Subversion)。 • VSS(Visual SourceSafe )。 • Client • TortoiseCVS。 • TortoiseSVN。
Coding Standard • Reference:GNU Coding Standards。 • Naming Variables, Functions, Classes and Files。 • Coding Style。
Naming • Include Type in Names int intMyWeight; bool blnIsLogin; • Include Units in Names uint32 uintTimeoutMsecs; uint32 uintMyWeightLbs; • Class Names • Use upper case letters as word separators, lower case for the rest of a word 。 • First character in a name is upper case 。 • No underbars ('_') 。
Class Names class JjLinkList { … } • Method Names • Use the same rule as for class names 。 class NameOneTwo { public: int DoIt(); void HandleError(); }
Constants • constants should be all caps with ‘_’ separators 。 const int A_GLOBAL_CONSTANT= 5; • Variables Declaration int intMyWeight;
Coding Style • Comments • Comments Should Tell a Story 。 • Write Comments as You Code 。 • Style class NameOneTwo { public: int DoIt(); void HandleError(); }
References • Teaching Teamwork Skills In Software Engineering Based On An Understanding Of Factors Affecting Group Performance, http://citeseer.ist.psu.edu/547996.html。 • CVS:http://www.nongnu.org/cvs/。 • SVN:http://subversion.tigris.org/。 • VSS:http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx。 • TortoiseSVN:http://tortoisesvn.tigris.org/。 • TortoiseCVS:http://www.tortoisecvs.org/。
C++ Coding Standard ,http://www.possibility.com/Cpp/CppCodingStandard.html。 • GNU Coding Standards,http://www.gnu.org/prep/standards/standards.html。 • PHP Coding Standard ,http://www.dagbladet.no/development/phpcodingstandard/。 • Code Conventions for the Java Programming Language,http://java.sun.com/docs/codeconv/。