개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 설명
  • 코드
  • CODE
  • Python
  • 우분투
  • C++
  • 에러
  • 설치
  • Example
  • install
  • 개발
  • 소스
  • 예제
  • 라즈베리 파이
  • 방법
  • error
  • ubuntu
  • Java
  • C
  • GIT

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

카테고리 없음

신입사원이 익야할 코딩 습관 - 1

2014. 9. 22. 20:33

1. 메크로를 사용하면 편할 수 있다.


ex)

#define PLUS_INDEX(x) uint32_t(x+1)

이렇게 정의한 후에 PLUS_INDEX(3)라는 식으로 사용하면 된다.




2. 변수의 bit수를 신경쓰자.


어느 연산에는 62bit연산 부분과 32bit 연산 부분으로 나뉘어서 사용되는 곳이 있을 수 있다.

그럴때 64bit가 32bit로 연산되는 순간에 캐스팅 혹은 변수의 할당에만 의존한다면 리틀 엔디안과 빅 엔디안의 사이에서 많은 오류가 생길 수 있다. 따라서 32bit로의 연산 이전에 미리 bit 연산을 이용해서 해놓는다면 이후에 비트의 차이로 생기는 오류는 해결할 수 있다.




3.  코드의 의미를 익히자.


(이 부분은 개인차가 있을 수 있으나, 내가 생각하기에 이해가 가기때문에 그렇게 표현하고 이해할 수 있다고 판단한다.)


int a = 0;

a = 5;


VS


int a = 5;


두개의 코드에는 의미의 차이가 존재한다.

위의 것은 a는 가변적인 변수라는 것이고, int a = 5는 a 의 값이 변하지 않을 수 있다는 의미이다.


따라서 두개의 의미를 활용해보면, 아래의 코드같이 이해할 수 있다.


int run = 5;


for( int i = 0 ; i < run ; i ) 

    cout << " RUN " << endl;




4. 코드를 유지보수 할 경우 코딩 스타일을 유지시키자.


코드 전체의 일관성을 유지하기 위해서는 타인의 소스를 고칠때에도 본인의 코딩 스타일을 고집하지 않고 기존 소스의 

일관성을 유지하는 것이 좋다.


당연히 본인이 write한 코드라면 동일한 스타일로 쭉~ 작성하자.




5. 클래스의 멤버 변수의 이름엔 prefix가 붙는 이유.


코드의 가독성을 높이기 위해서 클래스의 멤버 변수의 경우엔 앞에 m_xxx 혹은 Mxxx 등으로 표시한다.

이와 같은 코딩 컨벤션을 안할 경우 생기는 문제를 아래에서 보자.


class Test {


int data;

void setData(int data) {

    data = data;

}


};


cpp의 경우 java와 같이 this가 없기 때문에 위와 같은 현상을 방지하거나 멤버 변수와 임시변수를 구분하기 위해서 prefix를 주로 사용한다.




6. 멤버 초기화를 할 때는 memset을 주로 사용한다.


만약 배열이 있다고 가정한다면, 배열에 값을 일일이 할당하면서 초기화 하지 않고 memset으로 해당 메모리에 값을 채우는 형식으로 초기화를 주로 한다.




7. 코드를 작성할때, 불필요한 코드/함수는 없애자.


코드의 존재는 항상 유지보수의 대상이 된다. 따라서 사용하지 않거나, 차후에 사용가능한 코드 등은 정리하는게 좋다.

(확장 가능성을 열어두고 작성한 부분이나 상황에 따라서 다르다. 여기서 적은 이유는 코드를 작성할때 설계가 바뀌면서 불필요해진 함수를 정리하는데 포커스를 두고 적었다.)




8. 클래스의 역활은 1개 혹은 2개로 유지하자.


하나의 클래스에 여러가지 목적이 들어가면 유지보수는 물론 정체성/목적에도 이상이 생긴다.

따라서 클래스의 목적에 맞는 하나 혹은 두개의 기술을 유지하면서 정리하자.

저작자표시 비영리 (새창열림)
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바