Clean Cord Timestamp 3. 비야네 스트롭스트룹(Bjarne Stroustrup)의 원칙

 

비야네 스트롭스트룹이란 사람은 누구인가?

  • C++ 창시자
  • The C++ Programming Language 저자
  • 미국텍사스 A&M대학교의 공과대학 컴퓨터과학과 석좌교수

 

 

나는 우아하고 효율적인 코드를 좋아한다.

논리가 간단해야 버그가 숨어들지 못한다.

의존성을 최대한 줄여야 유지보수가 쉬워진다.

오류는 명백한 전략에 의거해 철저히 처리한다.

성능을 최적으로 유지해야 사람들이 원칙 없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다.

깨끗한 코드는 한 가지를 제대로 한다.

 

 

 

바야네에게 있어서 깨끗한 코드는 '보기에 즐거운 코드'다.

잘 만들어진 오르골이나, 잘 디자인되어있는 차를 접할 때처럼 깨끗한 코드는 보는 사람에게 즐거움을 선사해야 한다.

 

나쁜 코드는 나쁜 코드를 '유혹'한다.

나쁜 코드를 만들어냈다면, 고치는 과정 중에서 더 나쁜 코드를 만들어내는 모습을 보게 될 것이다.

 



르블랑의 법칙(Leblanc's Law)

나중은 결코 오지 않는다.

 

'Clean Code 공부하기' 카테고리의 다른 글

객체지향 설계의 5원칙  (0) 2021.03.08
5S 원칙은 선택이 아닌 필수  (0) 2021.03.06

Clean Cord Timestamp 2. 객체지향 설계의 5원칙, SOLID

 

객체지향 설계에는 SRP, OCP, LSP, DIP, ISP. 크케 통틀어 SOLID라 하는, 총 5개의 원칙을 따르게 된다.

 

 

1. SRP(The Single Responsibility Principle)

  • 클래스에는 한 가지, 단 한가지의 변경 이유만 존재해야 한다.

2. OCP(The Open Closed Principle)

  • 클래스는 확장에 열려 있어야 하며, 변경에는 닫혀 있어야 한다.

3. LSP(The Liskov Substitution Principle)

  • 상속받은 클래스는 기초 클래스를 대체할 수 있어야 한다.

4. DIP(The Dependency Inversion Principle)

  • 추상화에 의존해야 하며, 구체화에는 의존하면 안 된다.

5. ISP(The Interface Segregation Principle)

  • 클라이언트에 밀접하게 작게 쪼개진 인터페이스를 유지한다.

 

 



르블랑의 법칙(Leblanc's Law)

나중은 결코 오지 않는다.

 

'Clean Code 공부하기' 카테고리의 다른 글

비야네 스트롭스트룹  (0) 2021.03.10
5S 원칙은 선택이 아닌 필수  (0) 2021.03.06

Clean Cord Timestamp 1. 5S 원칙은 선택이 아닌 필수

 

TPM(Total Productive Management, 직장에서 전원이 참여하는 직장내 보전활동)을 지탱하는 기둥 하나가 5S 원칙이다.

 

1. Seirl (정리)

  • 적절한 명명법 등과 같은 방법을 사용해 무엇이 어디에 있는지 알아야 한다.

2. Seiton (정돈)

  • 코드는 누구나 예상하는 위치에 있어야 한다.

  • 그렇지 않으면 다시 정돈해 누구나 예상하는 위치로 옮겨야 한다.

3. Seiso (청소)

  • 과거의 이력이나 미래의 바램을 기억한 주석은 제거해야 한다.

  • 주석으로 처리한 코드는 제거해야 한다.

4. Seiketsu (청결)

  • 코딩을 하는 방식에 대해서 모두가 동의해야 한다.

  • 그룹 내에서 일관적인 구현 스타일과 기법의 필요성을 정해야 하고, 따라야 한다.

5. Shutsuke (생활화)

  • 관례를 따라야 한다

  • 자신의 코드를 자주 다른 이들에게 물어보고 기꺼이 변경해야 한다.

 

 



르블랑의 법칙(Leblanc's Law)

나중은 결코 오지 않는다.

 

'Clean Code 공부하기' 카테고리의 다른 글

비야네 스트롭스트룹  (0) 2021.03.10
객체지향 설계의 5원칙  (0) 2021.03.08

+ Recent posts