2016. 2. 23. 00:31ㆍ엘키스공간/독백
요즘 코딩하며 느끼는 것은 코딩 스타일은 참으로 천차만별이라는 것이다.
자신만의 스타일을 유지하는 것은 중요한 것 같다.
자연스럽게 회사 코드에 섞이는 것 같긴하지만... ㅋ_ㅋ
1. Braces
K&R이냐 BSD냐 그것이 문제로다.
BSD는 Allman 스타일이라고도 한단다.
1
2
3
4
5
6
7
8
9
10
11
12
|
//K&R
Some {
...
}
//이냐
//BSD
Some
{
...
}
|
cs |
원래 BSD를 아주 세차게 고집했던 나지만.. 회사 코드에 녹아들어 K&R도 자주 사용한다.
우리 회사 코드는 조금 일반화 시키면
클래스, 함수의 느낌을 풍기는 녀석들은 K&R을 쓴다.
반복문, 조건문은 대부분 BSD 방식으로 되어있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class someClass
{
...
public:
void SomeFunction();
...
}
void someClass::SomeFunction()
{
if (m_koko == LOVELY_GIRL) {
...
for ( ... ) {
...
}
}
}
|
cs |
대강 이런 느낌이랄까.. 나도 요새 이 스타일을 따라가고 있는 것 같다.
2. if(someFlag == true) vs if(someFlag)
1
2
3
4
5
6
7
|
if(someFlag == true) {
...
}
if(someFlag) {
...
}
|
cs |
가독성이 어떤게 좋은가? 나는 입사하기 전까진 전자를 사용했었다.
명확성은 전자가 좋다고 생각한다. 확실히 무슨 값인지 비교할 수 있는 것이다.
하지만 후자처럼 사용하는 코드도 굉장히 많고 나름 익숙해지니 꽤 괜찮다.
특히 C++이 아닌 Lua를 하며
1
2
3
|
if someValue then
...
end
|
cs |
이 if문에 매우 익숙해졌다고나 할까..
특히 괄호가 없는 언어를 하다보면 자연스럽게 "만약 썸벨류가 있다면?"의 느낌으로 해석하며 사용하게 된다.
그래서 C++에서도 자연스럽게 "이 플래그라면?", "이 포인터가 있다면?"의 느낌으로..
기존에는 이런 비교연산자가 없는 코드를 보면 "이 플래그가 참인가? 거짓인가?", "이 포인터가 널인가 널이 아닌가?"
무려 뒤에 6글자 내외로 빠진 것이기 때문에 내 뇌에선 엄청난 속도 향상이 일어난 것이다.
물론... 방망이!!!!!! 이 놈에 방망이가 들어가면 매우 헷갈리는 코드가 된다.
그것은 피할 수 없는 숙명. 그래도 "이 플래그가 아니라면?"과 "이 포인터가 없으면?"으로 떼우고 있다! :)
그리고.. 좀 내용과 안 맞을 수 있지만 전반적인 UI가 루아 소스로 되어 있는데
이렇게 특정 플래그에 레이블을 안 보이게 하는 코드를 짰었다.
1
2
3
4
5
6
7
8
9
|
if isFlag == TRUE then
label1:Enable(TRUE)
label2:Enable(TRUE)
label3:Enable(TRUE)
elseif
label1:Enable(FALSE)
label2:Enable(FALSE)
label3:Enable(FALSE)
end
|
cs |
나를 갈구면서(?) 잘 챙겨주는 회사 형이 딱 코드를 보더니
이렇게 수정해서 커밋했다.so simple!
1
2
3
|
label1:Enable(isFlag)
label2:Enable(isFlag)
label3:Enable(isFlag)
|
cs |
"플레그면? 출력."
3. Indent 줄이기
1
2
3
4
5
|
if (someCondition) {
if (!somePointer && somePointer.powerCoco != COCO) {
return;
}
}
|
cs |
1
2
3
4
5
6
7
|
if (!someCondition) {
return;
}
if (!somePointer && somePointer.powerCoco != COCO) {
return;
}
|
cs |
적당히 이런 느낌으로...
여튼 어떤 코드든 돌아가기만 하면 된다!
하지만 나도 이런것까지 고려할 수 있는 안목이 있었으면 한다.
간만에 구글 코딩 스타일을 주섬주섬.
'엘키스공간 > 독백' 카테고리의 다른 글
[추억] 일본게임회사 elf 문 닫는다.... (2) | 2016.03.17 |
---|---|
[Message Input(?)] The result "W+Resign" was added to the game information (0) | 2016.03.13 |
[잡생각] 이세돌 vs 알파고 (3) | 2016.03.13 |
[청승] 나도 곧 서른 (4) | 2015.12.05 |
[면접] 최근 면접을 다니며.. (11) | 2015.07.25 |
[휴식] 오랜만에 휴식 (0) | 2015.06.05 |
[청승] 집 냄새 (2) | 2015.04.01 |