Tema: Re: C# pasiekt objekta is kitos formos
Autorius: Jornada Del Muerto
Data: 2012-08-10 16:55:12
m_ yra standartinis Microsoft klases memberiu zymejimas ant C++, siaip skaityt reik Code Style Guidelines/naming conventions. Tam reikalui yra labai gerai padirbet imoneje, kurioje yra griezta tvarka su situo, iprantama poto visiems laikams prie tvarkos :) 

Galiu aprasyti koki standarta pats naudoju ant C#, ipratau vienam is darbu, kur kazkada teko dirbti ir labai patiko del tvarkos. 

Pirmiausiai tam zinot reik kelis terminus:

1. Pascal - Tai uzvardijimo metodika, kada pirmosios zodziu raides didziosios, o visos kitos mazosios, pvz.: 
ClientName, Name, Comment, FtpServer, IDirectDraw (I raide parodo, kad tai interfeisas), 

* Pavadinimai, kurie nusako kazkoki technini trupini kaip pvz FTP, HTTP ir t.t... irgi rasoma tik 1 raide didzioji, traktuojamas, kaip zodis, pvz. HttpAccessManager, kaip sakant tvarka taikoma grieztai viskam.

2. Camel - Tai uzvardijimo metodika, kada pirmoji raide visada mazoji, o toliau kaip pascal, pvz:
clientName, name, comment, superCoolName, ftpServer


Public members:

1. Visi klases metodai ir visi public memberiai Pascal stilium. Pvz.:

public class MySuperDuperClass {

    public enum SomeEnum {
        SomeValue,
        Undefined,
    }

    public string Name;
    public string ClientName;
    public string FtpServer;

    #region Public methods
    public void Do ();
    public string GetServerAddress ();

    #endregion

    #region Helpers <<< privatus metodai laikomi kaip helperiai ir aprasomi ju regione (grieztai visada)
    private string AcceptFtpConnection();

    #endregion
}


2. Privatus kasiu memberiai rasomi priekyje su underscore simboliu _ o toliau pascal;

private string _Name;
private string _FtpAddress;

Sis metodas yra patogesnis nei rasyti m_ kaip daroma C++ nes autocomplete lengviau issikviest kada rasomas tik 1 simbolis, kol m_ parasymas ilgiau uztrunka, o parasius _ is kart gauni autocomplete su atitinkamais private nariais.


3. Vidiniai metodu kintamieji ir metodu parametrai visada rasosi camel

public string AcceptFtpConnection (string host, int port, SomeEnum someEnum){

    int indexValue;
}


Tokiu atveju niekad nesimaiso vidiniai metodo kintamieji su klases memberiais, taip pat public ir private memberiai, labai patogu.


P.S. Aprasiau tik naminga, nors tai itraukia daug daugiau, dar ir kruva kodo rasymo taisykliu. 

JDM.