이어서 작성합니다.
11. switch 내부의 인수는 enum 으로!
switch (열거형변수){case 열거형값: 실행할코드; break;}
가독성이 높아집니다.
case 0: -: 이러면 0 이 뭘 뜻하는지 또 살펴봐야지요.
11번을 마스터 하면 초보에서 레벨업하시는 겁니다.
12. 전역변수는 되도록 struct 안에
-무조건 전역은 struct 안에 성질별로 그룹을 지으세요.
전역변수의 100만개의 저주에서 탈출 가능합니다.
int g_tmp; -> 이게 뭐하는 변수지? 글로벌변수이긴한데..
int g_conv; -> 이게 뭐하는 변수지? 글로벌변수이긴한데..
char g_terminal_increase; -> 이게 뭐하는 변수지? 글로벌변수이긴한데..
struct g_st_comm{
int tmp; // 그냥 임시 변수지롱~~~
int conv;
char terminal_increase;
} ;
struct g_st_comm g_ST_COMM;
g_ST_COMM.tmp; -> 뭔지는 모르겠지만 통신관련 글로벌 변수인거 같네. g_st_comm 구조체 가볼까?
13. 변수가 많으면 struct 안에 또 struct 로 변수 지정
- 좀더 구조화 됩니다.
struct st_comm{
int tmp; // 그냥 임시 변수 메롱~~~
int conv;
strcut st_tmp {
char terminal_increase;int tmp;} tmp;
} ;
- 소속이 생기는 거죠. 엄마 아빠 난 누구의 자식이다! 덜 헷갈립니다. 이름 앞에 성이 붙는 것처럼.
14. 작은 함수 이름은 동사 다음에 명사 - 어느 방법이던 한쪽 방향으로 일관적으로
int GetStatus(void);
int Get_Status(void);
int get_status(void);
15. 큰 그룹 함수 이름은 소속 뒤에 동사 명사
void CommGetStatus(void);
void CommInit(void);
void CommSetVariable(void);
16. 쉬어가는 페이지
- 내 프로그램은 절대 보안을 위하여 외국인에게 해석될 수 없다! 세종대왕 만세!
- 내 프로그램은 절대 국내용이다. 글로벌화 될 수 없다!
어느 외국인이 내 코드를 수정하고자 하는가! 나는 결연히 반대한다.
void ChoGiHwa(void); // 초기화함수
int tae_i_ble: // 테이블
char Imsisayong; // 임시사용
17. 뭔가 내용이 길어지면 함수로
안되면 { } 라도.
기능을 주석으로 구분하지 마시고 함수로 만들던가 아니면
// 무슨 무슨 기능
{
func1():
func2():
}
func3():
func4():
// 5,6함수 호출해서 둘이서 뭔가 불꽃 튀기는 동작을 하거든요. 그래서 친구라서 보기 쉬우라고 한번
// 묶어주었어요. 이 둘사이에 절대 뭔가 끼워 넣으시면 큰일나요. 요거는 제발 분리하지 마세요~~~
//
{
func5():
func6():
}
18. crtl-s 는 나도 모르게 (이건 무의식의 세계)
19. 작명이 살길 영어공부 열심히. 자신만의 일관된 원칙
do_chunchunhi(); // 천천히 동작 T.T slow 가 생각안나도 제발 이러시면.
g_u8_comm_init_status: // 흠... 글로벌변수에 8비트 변수고 통신 초기화 상태 변수이군. 하하하
20. 레벨이 다른 두사람끼리 짝프로그래밍.
- 레벨이 같거나 직급이 같으면 서로 멱살잡음. 개성은 소중하니깐요. ㅎㅎ
- 해결안되는 버그가 있으면 짝 프로그래밍이 효과적입니다.
후배는 설명하며코딩하고, 선배는 자세히 듣고.. (난 뒤 손가락에 회초리를 찰삭!)
'프로그램 언어' 카테고리의 다른 글
프로그램 하는 방법의 변화 (초보와 경력자) (0) | 2022.05.27 |
---|---|
버그 덜나는 코드 작성법 #3 (0) | 2022.05.27 |
버그 덜나는 코드 작성법 #1 (0) | 2022.05.27 |
맨먼스의 미신 (0) | 2022.05.27 |
문제을 코드화 하는 법 (LED 켜고 끄기 예제) (0) | 2022.05.27 |