티스토리 뷰

개발

지극히 주관적으로 해석한 코딩 명언

mike123789-dev 2021. 9. 24. 21:22

이전에 학생일 때는 코드가 내 뜻대로 실행되는 것에만 만족을 했었는데, 

팀으로 일을 해야하는 개발자로 생활하다 보니 코드 한 줄 한 줄 추가하는데 더 많은 생각을 하게 되네요

나만의 코딩 철학을 가지고 싶어서 코딩 관련 글들을 읽다가 마음에 드는 명언(?)을 모아봤습니다.

 

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler

 

리팩토링의 저자인 마틴 파울러가 한 말입니다

 

몇십 년 전까지는 컴퓨터의 입장에서 "어떻게 하면 조금이라도 더 최적화할 수 있을까?"를 생각하는 게 맞았겠지만.

컴퓨터/스마트폰의 성능이 기하급수적으로 좋아진 현재에서는 오버킬입니다

 

"좋은 코드는 사람이 이해하기 좋은 코드다"

조금 더 붙이자면 "다른" 사람도 이해하기 좋은 코드 일 것 같네요

프로젝트를 혼자서 개발하는 개발자는 없을것 같습니다.

항상 다른 개발자가 언제든 내 코드를 볼 수 있다 라는 생각을 가지고 코드를 짜야겠죠.

 

물론 다른 사람의 입장에서 코드를 짜야하면 조금 막연할 때가 있습니다

저는 그럴때에는 "이 코드를 반년 후에도 이해할 수 있을까?"라고 생각하며 코드를 짭니다.

 

 "Simplicity is prerequisite for reliability."
- Edsger W. Dijkstra
“The best code is no code at all. Every new line of code you willingly bring into the world is code that has to be debugged, code that has to be read and understood, code that has to be supported. Every time you write new code, you should do so reluctantly, under duress, because you completely exhausted all your other options.”
- Jeff Atwood
"The fastest code is the code which does not run. The code easiest to maintain is the code that was never written.”
- Robert Galanakis

 

코딩 관련된 명언에서 정말 자주 얘기가 나오는 것들을 모아봤습니다.

핵심은 코드는 최소한일 수록 좋다 라는 것을 전하려고 하는 말들이네요

 

이전에는 코드의 line 수가 많으면 잘 짠 거라고 착각을 했는데, 

요즘은 같은 일을 하는데 더 간결한 코드가 더 좋은 코드라고 생각을 합니다.

(그리고 가독성도 좋아지기 때문에 자연스럽게 이애하기 쉬운 코드가 되는 것 같아요)

 

Everything should be made as simple as possible, but not simpler
- Einstein

 

물론 그렇다고 기괴할 정도로 짧은 코드가 좋은 거는 아니겠죠?

 

 

"Give a man a program, frustrate him for a day.
Teach a man to program, frustrate him for a lifetime."
- Muhammad Waseem

 

이거는 약간 자조적인 얘기인것 같네요

코딩을 하는것이 직업인 사람한테 코딩으로 인한 스트레스틑 숙명으로 받아들이는 게 좋을 것 같습니다. ㅋㅋㅋㅋㅋ

 

 


글을 마치며

 

물론.... 코드를 짤때 정답은 없는것 같네요 (물론 오답은 있는 것 같지만...)

현재 주어진 상황에 따라서 임해야 하는 자세도 달리지겠죠...?

  • 만약 데드라인이 얼마 안 남아서 시간이 없는데 코드를 처음부터 클린 하게 짜는 것이 가능할까요?
    어쩌면 먼저 짠 후다닥 짠 다음에 나중에 숨좀 돌리고 리팩터링을 하는 것이 더 좋을 수도 있습니다.
  • 어떤 코드를 짜는데, A와 B가 있다고 가정해볼게요. (A, B 둘 다 성능상으로는 동일)
    개인적으로는 A가 좋아 보이지만, 팀에서는 B로 하기로 약속을 했으면 통일성을 위해서 B로 하는 게 맞을 것 같네요

다양한 상황에서 최선의 코드를 짤 수 있도록 노력해야겠습니다.

 

그리고, 고민이 있을 때는 주변을 둘러보는 것도 좋습니다.

주변에 고민을 같이 들어줄 동료/친구가 있다면 함께 의견을 나누고, 

만약 당장 옆에 사람이 없다면, 구글링을 하는 것도 좋은 방법이고, 오픈소스 코드를 참고하는 것도 큰 도움이 됩니다.

 

 

글을 너무 두서없이 써서 어떻게 마무리할지 잘 모르겠네요 😂

확실한 거는 앞으로 코드를 짤 때 하나의 생각을 뇌 뒤편에 심어둘 것 같습니다.

어떻게 하면 코드를 조금만 짤 수 있을까? 이 코드를 반년 후에 이해할 수 있을까?

 

빌 게이츠의 말을 인용하면서 마무리하겠습니다.

“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.”
- Bill Gates

 

'개발' 카테고리의 다른 글

함수형 프로그래밍에 대하여(feat. Swift)  (0) 2021.10.04
개발자로 구글링하는 법  (4) 2021.09.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함