Enhancements / Bug Fix's

Any enhancements proposed or bugs fixed must first be in the Issues section.  This will allow all developers to discuss the issues prior to making changes.

Application life cycle

Only the Project Co-ordinateor will publish release version.

When fixing an issue, mark it as Fixed (not as Closed). Task is closed as a part of release, if there are no comments otherwise it is shifted to next version.

Cooperation rules

  • Miguel de Icaza has a good post on Open Source Contribution Etiquette that is worth reading, as the guidance he gives applies well to Terminals (inspired by Nuget project).
  • Don't keep Lock files within SVN without asking others first.
  • Pickup from task stack only task, which you are able to solve in no more than two months.
  • Always associate check-in change set with task, if your check in is related to it.
  • Do not just change the format of all the code, it wasn't mine to begin with, only project coordinator can refactor code.


Project structure

  • Current development tool is Visual Studio Express 2012 with .NET C#.
  • The main solution project is configured to target .NET framework 4. But there may be other external projects, which are still targeting .NET 2.0. Don't change the target framework for them.
  • To build the release setup use the "Distribution release" solution configuration. For general development use standard debug and release.
  • Output directory is default directory under the Terminals project.



External components

 

  • Dayview2 does not use any external components, this policy will not change without permission from project coordinator.


Coding rules

  • Methods /variable must be grouped within #region tags
  • Use Visual Studio Express 2012 default settings or similar settings in another editor.
  • Indents are 1 tab or 4 spaces.
  • Fields should be declared private and above all methods.
  • Put curly brackets on a new line and close it in the same indentation.
  • When using an if condition with one statement, put the statement on the next line.
if (true)
    DoSomething();
  • When using an if condition with one statement after if condition and else condition, curly brackets are optional.

 

if(true)
     DoSomething();
else
     DoSomethingElse();

 

  • When using an if condition with curly brackets, use curly brackets for all attached conditions

 

if (true)
{
     x++;
     DoSomething();
}
else
{
     DoSomethingElse();
}

 

 

  • After an if, while, for each or other conditions that can use curly brackets, leave an empty line.

 

if (true)
   DoSomething();

x++;

foreach(String s in stringArray)
{
     Debug.Print(s);
}

DoTheNextThing();



  • Use String.Format when possible.
  • Use String.Empty instead of "", use String.IsNullOrEmpty() instead of (x == null | x = "").

Last edited Aug 25, 2013 at 3:47 PM by s1cart3r, version 1

Comments

No comments yet.