좋은 코드 (Good Code)/좋은 이름 (Good Name)(10)
-
4. 단수와 복수를 구분하자
Singular vs Plural 일상 생활 속에 단수와 복수는 굉장히 중요하다. 오늘 아침에 해가 밝았다 가 자연스럽지 오늘 아침에 해들이 밝았다 라고 표현하면 너무 어색하다. 해는 한 개 일 수 밖에 없기 때문이다. 우리가 변수를 사용할 때는 자료형을 계속 명시하지 않는다. 그렇기에 코드를 읽을 때도 자료형은 선언 때 빼곤 보이지 않는다. 자. 정리하면 코드를 작성함에 있어서 변수가 중요한 건 우리 모두 알고 있고 변수 이름이 단수 또는 복수인지에 따라 코드 표현이 어색해지는 지 보이고 실제로는 단수인데 복수처럼 써도 우리는 변수 선언 시절을 기억하지 않기 때문에 모른다. 우리는 이름에 정말 중요한 표현 양식을 줘야 한다. 많은 방법이 있겠지만, 가장 쉽고 많은 경우를 포용하는 건 단수, 복수 구분이..
2024.02.25 -
3. 명사와 동사를 구분할 때가 왔다
Noun vs Verb 솔직히 나는 어학 박사가 아니기 때문에 명사와 동사의 엄밀한 차이는 모른다. 그냥 명사는 어떤 물건이나 정지된 무언가를 의미하고 동사는 해당 명사가 움직이는 행위를 의미하는 것 같다. 장담컨데, 세상의 99.9%의 코드는 이 정도만 알아도 된다. 즉 누가 그 코드를 짰던 지 간에 명사와 동사로 구분할 수 있다는 것이다. 왜 우리는 코드에 명사와 동사를 구분해서 넣을까? 그건 우리가 어떤 무언가를 만들어서 나름 그 자체에 이름을 붙여두고 그 무언가가 동작하는 행위도 이름을 만들고 싶어하기 때문이다. 다음 두 예문을 코드로 표현해보자 고양이 색깔은 하얀색입니다 cat_color = 'white' 고양이 색깔을 말합니다. def say_cat_color(color: str): print..
2024.02.15 -
2. 애매모호함을 버리자
Frustrating 우리는 우리가 직접 만든 코드에 대해 엄청난 이해도를 가지고 있다. 의식의 흐름대로 착실히 한 줄 한 줄 써내려갔기 때문에, 다시 위로 스크롤해서 처음부터 읽어도 잘 읽힌다. 내 코드에 피드백 올 것들은 아마 디자인 패턴이나 문법적 우려에 기반할 것이다. 어쩌면 병렬 프로세싱에 대한 지적일 수도 있고, 효율적으로 시스템 자원을 사용하지 않아서 그러겠거니 한다. 그리고 이렇다할 피드백이 없으면 역시 더 고칠 게 없었겠거니 생각한다. 까지가 우리의 착각이다. 인정하자. 그 코드는 안 읽힌다. 그래서 아무도 그 코드를 보려고 하지 않는 것이다. 애정 깊게 쌓아 올린 코드는 결국 나한테도 잊혀져 생명이 다 할 것이다. 나는 읽히지 않는 코드는 답답하다고 표현한다. 이렇게 답답했던 경우는 2..
2024.02.14 -
1. 어쨌든 이름은 이해할 수 있어야 한다
Compromise 솔직해지자. 오늘 만든 변수 이름 몇 개는 사실 못 생겼다. 보지 않아도 안다. 그러니 설명할 필요 없다. 당연히 나도 포함해서, 대부분의 개발자들은 작명가가 아니다. 주변을 둘러보면 못생긴 이름은 너무나 많고 다양하다. 가끔 다른 사람이 작성한 코드를 보면 이렇게 짓나 싶을 정도로 재밌는 이름들도 많다. 만약 본인이 살면서 이름을 못 지은 걸로 딴지 걸면서 피드백을 받았던 경험이 없었다면, 첫 번째로 1인 개발자이거나 두 번째로 그럴만한 실력자를 멘토로 두지 않았거나 세 번째로 본인이 조금 멍청해서 알려줘도 어차피 모르기 때문에 포기되었거나 마지막으로 이름 짓느라 한 평생 걸리는 데 겨우 이것 때문에 발목 잡히면 본인의 생산성에 문제가 생기기 때문이다. 이제 희소식이다. 우리는 드디..
2024.02.13