ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Coding Convention] 명명 규칙과 표준
    프로그래밍 언어 2022. 4. 15. 13:41

    1.1 네임스페이스 (Namespace)

     - 네임스페이스는 아래와 같은 규칙으로 작성

      <회사명>.<제품명>.<상위모듈>.<하위모듈>

     

    1.2 클래스 (Class)

     - 클래스 명 : 파스칼 케이싱

      public class HelloWorld

      {

         ...

      }

     

     - 인터페이스 : 'I' + 파스칼 케이싱

       예 : IEntity

     

     - 하나의 파일에는 하나의 클래스만 작성

     - 너무 긴 소스를 가지는 클래스를 작성하지 않음. (1000라인 이상이 된다면, 이는 Refactoring 대상으로 좋음. 둘 이상의 클래스로 분할)

     

    *Refactoring : 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것 (기능적인 부분이 아닌 구조적인 부분을 변경하는 것)

     

    1.3 메소드 (Method)

     - 메소드 명 : 파스칼 케이싱

       void SayHello()

         {

          

         }

     - 메소드 인자 : 케멀 케이싱

       void SayHello(string name)

         {

          

         }

    - 메소드 명은 수행하는 이름을 명확히 하여 작성하기 ( 이렇게 하면 메소드에 대한 주석이 필요 없음)

      void SavePhoneNumber (string phoneNumber)

        {

                // Save the phone number.

        }

    - 메소드가 길다면 Refactoring을 통해 분리

    - 아무리 작은 단위의 작업을 하는 메소드라 할지라도 하나의 메소드는 하나의 작업만 할 것

      예)

       //Save the address.

       SaveAddress (address);

     

      //Send an email to the supervisor to inform that the address is updated.

      SendEmail (address, email);

     

      void SaveAddress (string address)

      {

           //Save the address.

          //...

      }

     

      void SendEmail (string address, string email)

      {

          //Send an email to inform the supervisor that the address is changed.

          //...

      }

     

    나쁜 예)

      // Save address and send an email to the supervisor to inform that

      // the address is updated.

      SaveAddress (address, email);

     

      void SaveAddress (string address, string email)

      {

            // Job 1.

            // Save the address.

            //...

     

            // Job 2.

            // Send an email to inform the supervisor that the address is changed.

            //...

      }

    - 메소드에 너무 많은 인자를 넘기지 말 것. 4 ~ 5개 이상의 인자가 전달되는 메소드가 있다면, 클래스 혹은 메서드의 구조를 재조정할 것.

     

    1.4 변수 (Variable)

     - 변수 명 : 캐멀 케이싱

       int totalCount = 0;

     - 변수명에 대해 헝가리안 표기법 사용하지 않기

       예) string m_sName;

            int nAge;

     - 변수를 의미 있게 부여하고 축약하지 않기

       예) string address

            int salary

     - i, n, s와 같은 한 글자로 이루어진 변수를 사용하지 않기. 다만, 다음은 예외로 함.

       for ( int i = 0, i < count, i++)

       {

           ...

       }

     

     - 지역변수에 언더스코어( _ ) 문자를 사용하지 않기

     - 멤버변수는 언더스코어( _ )로 시작하여 지역변수와 구분하기

     - 메소드 안에서 변수선언은 해당 변수가 최초로 사용되는 곳에서 선언하도록 하고 한 줄에 하나의 변수만 선언

     

     

     

     

     

     

     

     

     

Designed by Tistory.