Difference between revisions of "CpaCoderpz - oop344 20123"

From CDOT Wiki
Jump to: navigation, search
(0.3 Milestone)
(0.4 Milestone)
Line 65: Line 65:
 
# Label (issue 3.3)
 
# Label (issue 3.3)
 
# line Edit (issue 3.4)
 
# line Edit (issue 3.4)
 +
 +
 +
=== 0.4 Milestone ===
 +
# CButton (issue 4.1)
 +
# CValEdit (issue 4.2)
 +
# CCheck (issue 4.3)
  
 
== Coding Rules ==
 
== Coding Rules ==

Revision as of 21:03, 12 November 2012


OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources

cpaCoderpz (team X)

Project Marking Percentage

Group work:       50%      
Individual work:  50% +    
-------------------------
Total            100%

Repository

Team Members

cpaCoderpz 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

  1. Add console class to project and test with cio_test (issue 1) (by Freddy Cheungh - reviewed by Joseph Visconti)
  2. Create Mock-up classes
    Create the class files (header and cpp) with blank methods and make sure they compile
    1. CField Mock-up Class (issue 2.1) (by Matt Jang - reviewed by Freddy Cheungh)
    2. CLabel Mock-up Class (issue 2.2) (by Matt Jang - reviewed by Freddy Cheungh)
    3. CDialog Mock-up Class (issue 2.3) (by Matt Jang - reviewed by Freddy Cheungh)
    4. CLineEdit Mock-up Class (issue 2.4) (by Freddy Cheungh - reviewed by Joseph Visconti)
    5. CButton Mock-up Class (issue 2.5) (by Joseph Visconti - reviewed by Vernileo Turalba)
    6. CValEdit Mock-up Class (issue 2.6) (by Joseph Visconti - reviewed by Vernileo Turalba)
    7. CCheckMark Mock-up Class (issue 2.7) (by Joseph Visconti - reviewed by Vernileo Turalba)
    8. CText
      1. Add Text Class to the project (issue 2.8.1) (by Vernileo Turalba - reviewed by Matt Jang)
      2. CText Mock-up Class (issue 2.8.2) (by Vernileo Turalba - reviewed by Matt Jang)
    9. CCheckList Mock-up Class (issue 2.9) (by Vernileo Turalba - reviewed by Matt Jang)


0.3 Milestone

  1. CField (issue 3.1)
  2. Dialog (issue 3.2)
  3. Label (issue 3.3)
  4. line Edit (issue 3.4)


0.4 Milestone

  1. CButton (issue 4.1)
  2. CValEdit (issue 4.2)
  3. CCheck (issue 4.3)

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
  1. topic and date1
  1. topic and date2

discussions