kaistshadow / blockchain-sim

Scalable blockchain simulator/emulator running on shadow simulator
MIT License
9 stars 1 forks source link

Update cpplint feedback on BLEEPlib #360

Closed tkdlqm2 closed 3 years ago

tkdlqm2 commented 3 years ago

BLEEPlib, BLEEPeval, BLEEPemul 디렉토리에 존재하는 모든 .cpp 파일에 대해 cpplint의 피드백을 적용했습니다.

ygnkim commented 3 years ago

@tkdlqm2 linter 돌린 커맨드나 옵션 같은것을 알 수 있을까요? 추가 코딩을 할때 어떻게 linter를 돌리면 되는지 알아야 할 것 같습니다~

tkdlqm2 commented 3 years ago

cpplinter manual

  1. 주석

case1.

        //example (x)
        // example (o)

case2.

        int a;// example (x)
        int a; // exmaple (x)
        int a;  // example (o)
  1. 띄어쓰기

case1. 반복문, 조건문 정의 후 중괄호, 대괄호 마다 띄어쓰기

        if() (x)
        if () (o)

(x)
        if () {}
        else {} 

(o)
        if () {
        } else {
        } 

        while(1) (x)
        while (1) (o)

        while (1){} (x)
        while (1) {} (o)

case2. 반복문, 조건문 내용 정의 시 조건 정의 마다 띄어쓰기

        if (example==True) (x)
        if (example == True) (o)

        if (example<True) (x)
        if (example < True) (o)

case3. 변수 정의

        int a=10; (x)
        int a = 10; (o)
  1. 네임스페이스 들여쓰기

BLEEP에서 개발된 소스코드들은 전부 namespace 정의 시 다음과 같이 구현이 되었음. 기존의 코드들은 전부 intent가 적용되어 있는데, cpplinter에서는 intent를 전부 제거를 하였음. [기존 namespace 정의] image

적용된 코드를 보면 namespace 이후 [cpplint 적용] image

  1. 매크로 정의 다음은 blockchain-sim/BLEEPeval/sybiltest-app/bitcoin/BitcoinNodeParams.h 소스코드 내에서 정의한 매크로임. 매크로는 다음과 같이 디렉토리 경로에 맞추어 정의를 하게끔 cpplint 피드백 적용이 됨.
    
    #ifndef BLEEPEVAL_SYBILTEST_APP_BITCOIN_BITCOINNODEPARAMS_H_
    #define BLEEPEVAL_SYBILTEST_APP_BITCOIN_BITCOINNODEPARAMS_H_

endif // BLEEPEVAL_SYBILTEST_APP_BITCOIN_BITCOINNODEPARAMSH


5.  class 정의
class 접근 속성 정의 시 반드시 개행을 해야함. 

(x) protected: int a; public: int b;

(o) protected: int a;

public: int b;