Skip to content
김민식 - 생각과 행동의 기록
External Links

나만의 소프트웨어 엔지니어링 원칙

개발2 min read

최근에 지인 개발자가 자신만의 소프트웨어 엔지니어링 원칙을 정리해야겠다는 이야기를 한 적이 있다. 그 말을 듣고 나도 해보아야겠다는 생각이 들었다. 앞으로 발전적으로 수정될 여지가 있겠지만, 내가 현재 가지고 있는 생각들을 한 번 점검하고 기록해보는 것에 의미가 있을것이다.

가독성

  • 컴퓨터가 이해할 수 있는 코드는 누구나 쓸 수 있다. 좋은 프로그래머만이 인간이 이해할 수 있는 코드를 쓸 수 있다.
  • 코드는 다른 개발자와의 (그리고 미래의 나와의) 의사소통이다.
  • 코딩은 작문과 같다. 좋은 코드는 좋은 글이 가지고 있는 특성을 그대로 가지고 있다. 읽기 쉽고, 의미가 있고, 가치가 있다.

추상화

  • 소프트웨어 공학의 발전은 곧 추상의 발전이다.
  • 지나치게 높은 추상보다는 차라리 지나치게 낮은 추상이 낫다.

설계

  • 소프트웨어는 유연(soft)해야한다. 요구사항이 변경되었을 때 열려있을 수 있어야한다.
  • 설계는 일관성이 있어야한다. 한 부분을 보고 전체의 구조를 합리적으로 추론할 수 있어야한다.
  • 큰 조각을 잘개 쪼개는 것이 아니라, 작은 조각들을 모아 크게 만드는 것이다.
© 2024 by 김민식 - 생각과 행동의 기록. All rights reserved.
Theme by LekoArts