Keep It Simple Stupid
역시 심플한게 근본이고 최고이다
. 뭐든지 심플하게 생각하고 심플하게 만들어야 한다.
소프트웨어에서는 이런 철학이 더 더 강조되어야 하고 더욱 중요하게 생각해야한다고 느낄 수 있었던 장이었다.
- SRE의 임무를 한 문장으로 표현하면, 시스템의 신속함과 안정성 사이의 균형을 유지하는 것 이다.
시스템의 안정성 vs 신속함
- 둘 모두 장단점이있다.
- 어떨 때는 실험적 코딩을 이용해 신속함을 위해 안정성을 희생할 수도 있다.
- 어쨌든 둘 간의 균형이 매우 중요함
지루함의 미덕
- 소스 코드에서는 재미, 스릴, 퍼즐 같은 것이 전혀 없는 것이 바람직한 모습
- There is No Silver bullet.
- 근본적인 복잡성과 돌발적인 복잡성을 구분하고 제거 및 해결해야함
내 코드는 절대 포기하지 않을거야
- 말도 안되는 소리임
- 소프트웨어에서는 코드 한 줄 한 줄이 다 부채일 수 있음.
- 클린 코드에서도 나오듯이, 주석은 해롭다!
최소한의 API
- “완벽함이란 더 이상 추가할 것이 없을 때가 아니라, 더 이상 걷어낼 것이 없을 때 비로소 완성된다”
- Simple is the BEST
- API를 최소화 하는 것은 소프트웨어 시스템의 간결함을 추구하기 위한 가장 기본적인 관점임
모듈화
- utils, misc 이러한 바이너리를 쓰거나 디렉터리를 쓰고 있다면, 좋지 않은 사례임. 잘 디자인된 시스템은 명확하고 분명한 범위의 목적을 가진 바이너리들로 구성됨