CpaCoderpz - oop344 20123
cpaCoderpz (team X)
Project Marking Percentage
Group work: 50% Individual work: 50% + ------------------------- Total 100%
Repository
- repo Github id: X-CpaCdr
Team Members
First Name | Last Name | Team Name | Section | Seneca Id | wiki id | IRC nick | GITHUB ID | Blog URL |
---|---|---|---|---|---|---|---|---|
Freddy | Cheungh | cpaCoderpz | A | fgcheunghchen1 | Freddy Gai Fung Cheungh Chen | fgcheunghchen1 | fgcheunghchen1 | Freddy's C++ Blog |
Matt | Jang | cpaCoderpz | A | mjang13 | Matt Jang | SoBrisk | SoBrisk | Matt's Blog |
Vernileo | Turalba | cpaCoderpz | A | vturalba | Leo Turalba | Ltur | leoturalba | Blogging Coderz |
Joseph | Visconti | cpaCoderpz | B | jvisconti2 | Joseph_Visconti | Visconti | Joseph-Visconti | OOP344 |
Issues and Status
0.2 Milestone
- Add console class to project and test with cio_test (issue 1) (by Freddy Cheungh - reviewed by Joseph Visconti)
- Create Mock-up classes
- Create the class files (header and cpp) with blank methods and make sure they compile
- CField Mock-up Class (issue 2.1) (by Matt Jang - reviewed by Freddy Cheungh)
- CLabel Mock-up Class (issue 2.2) (by Matt Jang - reviewed by Freddy Cheungh)
- CDialog Mock-up Class (issue 2.3) (by Matt Jang - reviewed by Freddy Cheungh)
- CLineEdit Mock-up Class (issue 2.4) (by Freddy Cheungh - reviewed by Joseph Visconti)
- CButton Mock-up Class (issue 2.5) (by Joseph Visconti - reviewed by Vernileo Turalba)
- CValEdit Mock-up Class (issue 2.6) (by Joseph Visconti - reviewed by Vernileo Turalba)
- CCheckMark Mock-up Class (issue 2.7) (by Joseph Visconti - reviewed by Vernileo Turalba)
- CText
- Add Text Class to the project (issue 2.8.1) (by Vernileo Turalba - reviewed by Matt Jang)
- CText Mock-up Class (issue 2.8.2) (by Vernileo Turalba - reviewed by Matt Jang)
- CCheckList Mock-up Class (issue 2.9) (by Vernileo Turalba - reviewed by Matt Jang)
0.3 Milestone
- CField (issue 3.1) (by Joseph Visconti - reviewed by Freddy Cheungh)
- CDialog (issue 3.2) (by Freddy Cheungh & Matt Jang - reviewed by Vernileo Turalba)
- CLabel (issue 3.3) (by Freddy Cheungh & Joseph Visconti - reviewed by Matt Jang)
- CLineEdit (issue 3.4) (by Vernileo Turalba - reviewed by Joseph Visconti)
0.4 Milestone
- CButton (issue 4.1) (by Joseph Visconti - reviewed by Freddy Cheungh)
- CValEdit (issue 4.2) (by Vernileo Turalba - reviewed by Matt Jang)
- CCheckMark (issue 4.3) (by Freddy Cheungh & Matt Jang - reviewed by Vernileo Turalba & Joseph Visconti)
0.5 Milestone
- CText (issue 5.1)
- CCheckList (issue 5.2)
Coding Rules
General
- tab four (4) spaces
- do not cut off long lines
- use spaces and not tabs
- ordering rules may be broken if needed for functionality or practicality
Naming
- private variables and methods must start with an underscore (_)
- variable names use camel case starting with a lowercase letter (variableName)
- method and function names use camel case starting with a lowercase letter (methodName)
- class names use camel case starting with an uppercase letter (ClassName)
- constant names are all uppercase and words are split with an underscore (CONSTANT_NAMES)
Variables
- in classes, order variables by type and then name unless an alternate order is required to function
- primitive before non primitive
- with primitive types, largest to smallest
- order non primitive types alphabetically
Classes
- in class interfaces everything is indented at least one level
- in class interfaces in scopes that are specified, indent the method and variable declarations in that scope an additional level
- declare variables before methods in a scope
- variable names are not included in the interface
- method comments are in the implementation
- variable comments are in the interface
- constructors and destructors are declared first in their scope
class ExampleClass { int _privateVariable; public: bool status; int something(int); };
Conditional Statements
- else and else if statements take place the line after a closing bracket
- no break on default case in switch statement
- in switch statement, break statements share the same indent level as a case statement
- always use brackets, even with single line statements
if (false) { statement; } else { statement; } switch (1) { case 2: statement; break; default: statement; }
Loops
- in for loops, use the letter i to count iterations
- in nested for loops, use alphabetically increased letters from the letter i as iteration counters (i, j, k, ect)
- always use brackets orĀ ; to declare that there is no code to be run each loop
for (int i = 0; i < 10; i++);
for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { statement; } }
Comments
- comments for variables take place on the same line as the variable
- method and function comments must always be multi-line comments
- method and function comments describe the method or function and then specify the the parameters and return with a short description (if needed) of each
- code blocks of over 20 lines can have their end bracket commented
/* * increases a number by 1 * * param: num, the integer number to increase * return: num increased by 1 * */ int func(int num) { return num + 1; }
Spacing
- if, for, switch and while statements are followed by a space before the open parentheses
- the close parentheses for these statements is followed by a space before the open curly bracket
- when the parentheses is followed by a semicolon, there is no space
- in for statements, each semicolon is followed by a space unless it is empty
- for method and function declaration, there is no space between the end of the name and the open parentheses
switch (1) { case 2: statement; break; default: statement; }
if (true) { statement; } else if (false) { statement } else { statement; }
for (int i = 0; i < 10; i++); while (false) { statement; } do { statement; } while (true);
Includes
- order includes in order of priority then alphabetically
meetings
- latest will be on top