|
|
|
Tylko zalogowani klienci, którzy złożyli zamówienie mają dostęp do panelu zarządzania
projektami.
Panel umożliwia przeglądanie historii zmian projektów, wprowadzanie uwag klienta,
śledzenie postępu prac itp.
|
|
|
|
|
|
Standardy Kodowania
Na każdym etapie procesu tworzenia oprogramowania, ściśle przestrzegamy
standardów kodowania, które wytycza nam branża.
Oto niektóre główne zasady dobrego kodu (C#):
Utrzymywanie właściwej konwencji nazw (Pascal casing),
przykład:
public class MyClass
{
public const int MyVariable = 20;
public void MyMethod()
{
//implementacja
}
}
lub prefiks dla interfejsów:
interface IMyInterface
{...}
|
Nazewnictwo metod zgodne z wartościami jakie zwracają, przykład:
GetUserEmail();
GetCurrentObjectState();
|
Opisywanie funkcji i klas między tagami<summary> co pozwala na automatyczne
wygenerowanie dokumentacji dla kodu.
Przekazywanie wartości początkowych obiektów podczas ich inicjalizacji (jeśli
są wymagane).
Automatyczna destrukcja niepotrzebnych już obiektów przy użyciu klauzuli using,
przykład:
using MyCompany.MyProject
using{MyClass MyObj = new MyClass(5)}
{
// implementacja
}
namespace MyCompany.MyProject
{
/// <summary>
/// MyClass - klasa zawiera metody które ....
/// </summary>
public sealed class MyClass : IDisposable
{
///<summary>
/// Konstruktor klasy
///</summary>
public MyClass()
{
//implementacja
}
///<summary>
/// Overload: Inicjalizacja obiektu z jednoczesnym przekazaniem wartości
///</summary>
/// <param name="MyValue">Wartość początkowa (int)</param>
public MyClass(int MyValue)
{
//implementacja
}
#region IDisposable - obszar destruktora
private bool disposed = false;
// Deklarujemy zarządzane zasoby dla tego obiektu
private Component component = new Component();
///<summary>
/// Usuwa obiekt z pamięci (disposing)
///</summary>
public void Dispose()
{
Dispose(true);
// Usuwamy obiekt z kolejki do destrukcji (po
raz drugi)
GC.SuppressFinalize(this);
}
///<summary>
///Sprawdzanie czy obiekt został już usunięty
///</summary>
private void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
// Destrukcja kodu zarządzanego
(managed)
component.Dispose();
}
}
disposed = true;
}
#endregion
} //koniec klasy
}// koniec namespace |
itp...
|
|
|