[Daily Diary] Sharpen your thoughts! :D

단순성과 복잡성

7_B 2024. 11. 11. 22:47

소프트웨어 설계를 잘하는 두 가지 방법이 있다.
첫째는 빠진 게 없는지 쉽게 확인할 수 있도록 최대한 단순하게 만드는 것이고,
둘째는 빠진 게 없는지 확인할 수 없도록 최대한 복잡하게 만드는 것이다.
(C.A.R. Hoare, 1934.01.11 ~ (90))

 

우리는 단순성과 복잡성 사이의 줄타기를 하며 살아간다.

 

그리고 우리는 적어도 양쪽의 입장에서 적어도 한번 이상 경험해보았을 것이라 생각한다.

 

결국 내린 선택은 늘 내 맘 같지 않기도 하며, 매 상황에 따라 선택을 달리 하기도 한다.

 

그렇게 우리는 항상 최선을 선택을 하며 살아간다.

 

오늘 밤, 단순성과 복잡성의 기로에 서있는 당신에게, 그들의 명언이 당신이 최선이자 최고의 선택을 내리는 데에 도움이 되면 좋겠다.

복잡성은 여럿을 죽인다.
개발자의 생기를 빨아들이고,
제품을 계획, 구축 및 테스트하기 어렵게 만들고,
보안 문제를 야기하며,
사용자와 운영자에게 좌절감을 안겨준다.
(Ray Ozzie, 1955.11.20 ~ (68))

좋은 소프트웨어의 기능이란, 복잡한 것을 간단하게 보이도록 만드는 것이다.
(Grady Booch, 1955.02.27 ~ (69))

간단하고 작은 것부터 시작하고, 점점 확장해나가세요. 사람들이 그것을 '장난감'이라고 부른다면 당신은 확실히 무언가를 발견한 것입니다.

(Aaron Levie, 1985.12.27 ~ (38))

프로그래밍에서 누군가가 "너무 복잡하게 만들고 있어"라고 말하면, 그 사람은 당신보다 10걸음 뒤처져 있거나 10걸음 앞서 있는 것입니다.
([Andrew Clark](https://github.com/acdlite))



기술은 두 가지 유형의 사람에 의해 지배됩니다. 자신이 관리하지 못하는 것을 이해하는 사람과 자신이 이해하지 못하는 것을 관리하는 사람입니다.
( [Archibald Putt](https://en.wikipedia.org/wiki/Putt%27s_Law_and_the_Successful_Technocrat) )

'[Daily Diary] Sharpen your thoughts! :D' 카테고리의 다른 글

SOLID 원칙  (0) 2024.11.18