ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코드 컴플리트] 변수 이름의 기능
    카테고리 없음 2023. 12. 16. 21:08

    고려 사항 : 이름이 변수가 나타내는 것을 완전하고 정확하게 설명하는지를 가장 중요하게 고려

     

    변수의 목적 좋은 이름, 좋은 설명 나쁜 이름, 불충분한 설명
    날짜가 적힌 유통 중인 수표의 총계 runningTotal, checkTotal written, ct, checks, CHKTTL, x, x1, x2
    고속 열차의 속도 Velocity, trainVelocity, velocityinMPH velt, v, tv,x, x1, x2, train
    현재 날짜 crrentDtate, toDatsDate cd, current, c, c1, c2, data
    페이지당 행 수  linesPerpage lpp, lines, l, x, x1, x2

     

    최적의 이름 길이

    x1과 x2와 같은 이름은 x가 무엇인지를 알아낸다고 하더라도 x1과 x2의 관계에 대해 서는 아무것도 알지 못한다.

    너무 긴 이름은 입력하기 어렵고 프로그램의 외관상 구조를 모호하게 한다.

     

    코드의 길이는 10-16자 사이를 사용해라.

    고를라와 A. C. 베난더. B.A 베난더는 평균적으로 10-16자 사이일때 프로그램을 디버깅하기 위해서 들이는 노력을 최소화 할 수 있다라는 사실을 발견했다.

     

    너무 길거나 너무 짧거나 적당한 길이의 변수 이름

    너무 길다 numberOfPeopleOnTHeUsOlypicTeam
    numberOfSeatsinTheStadium
    maximumNumberOfPointsInModernOlympics
    너무 짧다. n, np, ntm
    n, ns, nsisd,
    m, mp, max, points
    적당하다. numTeamMembers, teammemberCount
    numSeatsinStadium, seat Count
    teanPointsMax, pointsRecord

     

     

    전역 공간을 나누기 위해 한정자를 사용하라. 

    C++과 C#에서는 namespace 키워드를 사용.

     

    열거, 구조체, 공용체를 활용해라.

    C에서는 label, 열거(enum), 구초제(struct), 공용체(union)을 사용

     

    label 예시

    foo:
    
    	...
        
        goto foo;

     

     

    열거(enum) 예시

    enum foo{APPLE, KIWI, GRAPE};

     

    구조체(struct) 예시

    struct tag
    {
    	int foo;
    } object;
    
    ...
    
    object.foo;

     

    많은 프로그램이 총계, 평균, 최댓값 등 계산된 값을 보관하는 변수를 갖는다. 

    Total, Sum, Average, Max, Min, Record, String Pointer와 같은 한정자로 변수의 이름을 만들 경우 이름 끝에 한정자를 입력한다.

    정돈된 예시) totalRevenue, revenuTotal, expenseAverage, expenseTotal, revenuTotal

    미 정돈 된 예시) totalRevenue, expenseTotal, revenueAverage, averageExpense

     

    플래그 관리 시

    satusFlag = 0x80과 같은 명령문은 직접 코드를 작성했거나 statusFlag와 0x80이 무엇을 표현하는지 설명하는 문서를 보기 전까지는 코드가 무엇을 하는지 전혀 알 수가 없다.

    -> 문제점 문서와 코드를 병행하여 관리해야한다.

    -> 코드를 구현하면서 문서를 확인해야하는 번거로움이 발생

    가독성이 떨어지는 코드 if(statusFlag & 0x80)
    {

    }
    가독성이 좋은 코드 if(characterType & PRINTABLE_CHAR)
    {

    }

     

    가독성이 떨어지는 코드 if(printFlag ==  16)
    {

    }
    가독성이 좋은 코드 if(reportType == RepoprtTYpe_Annual)
    {

    }

     

     

    불린 변수 이름의 가이드라인

    done : 무언가 수행되었다는 것을 가리키기 위해서 done을 사용한다. 

    error : 오류가 발생했음을 가리키기 위해서 error를 사용한다.

    found : 값이 발견되었다는 것을 가리키기 위해서 found를 사용한다.

    success 또는 ok : 

Designed by Tistory.