삽질의 현장/- Go

Practical Go - Principles underlying Go itself

shovelman 2020. 12. 20. 21:49

Go 언어는 단순성, 가독성, 생산성을 원칙으로 삼고 있다.

Principles underlying Go itself

  1. Simplicity
  2. Readability
  3. Productivity

성능과 동시성은 중요한 속성이지만 단순성, 가독성 및 생산성만큼 중요하지는 않다.

Simplicity

단순성은 신뢰성의 전제 조건이다.

SW 디자인을 구성하는 방법에는 두 가지가 있다.

  1. 명백하게 결함이 없도록 간단하게 만드는 것
  2. 명백하게 결함이 없도록 너무 복잡하게 만드는 것

복잡성은 신뢰할 수 없는 소프트웨어에서 신뢰할 수 있는 소프트웨어를 만든다.

복잡성은 소프트웨어 프로젝트를 죽인다. 따라서 단순함이 Go의 가장 큰 목표이다.

어떤 프로그램을 작성하던지 간단하다는데 동의할 수 있어야 한다.

Readability

가독성은 유지 보수에 필수적이다.

프로그램은 사람들이 읽을 수 있도록 신경써야한다. 기계가 실행하는 데에만 신경 써야 하는 것은 부수적이다.

프로그래머에게 가장 중요한 기술은 아이디어를 효과적으로 전달하는 능력이다.

가독성은 프로그램이 수행하는 작업을 이해할 수 있는 핵심이다.

프로그램이 무엇을 하는지 이해할 수 없다면 어떻게 유지할 수 있겠는가?

Productivity

디자인은 오늘날 작동하고 영원히 변경될 수 있도록 코드를 배열하는 기술이다.

Go 개발자는 해당 언어에 내재 된 안정성 문제없이 동적 언어로 작업하는 개발자만큼 생산성을 느낄 수 있다.

개발자의 생산성 문제의 더 기본적인 것으로서 Go에서는 코드를 읽는 행위를 작성하는 행위보다 우선한다.

Go는 도구 및 사용자 지정을 통해 모든 코드가 특정 스타일로 포멧되도록 강제한다.

 

출처 : Practical Go: Real world advice for writing maintainable Go programs

'삽질의 현장 > - Go' 카테고리의 다른 글

Practical Go - API Design  (0) 2020.12.20
Practical Go - Project Structure  (0) 2020.12.20
Practical Go - Package Design  (0) 2020.12.20
Practical Go - Comment  (0) 2020.12.20
Practical Go - Identifiers  (0) 2020.12.20