삽질의 현장/- Go

Practical Go - API Design

shovelman 2020. 12. 20. 22:01

초기 패키지의 공용 API에 관해서는 초기 설계에 상당한 고려를 하는 것이 좋다. 나중에 해당 설계를 변경하면 이미 API를 사용하는 사람들에게 방해가 되기 때문이다.

Design APIs that are hard to misuse.

오용하기 어려운 API를 설계하라

API의 실제 호출이 복잡하면 덜 명확하고 간과될 가능성이 높다.

Be wary of functions which take several parameters of the same type

동일한 유형의 여러 매개 변수를 사용하는 함수를 주의해야한다.

func CopyFile(to, from string) error

매개변수의 순서가 중요한 함수의 경우 함수 원형을 참조하지 않고는 알 수 없다. 이를 위해 올바르게 호출 할 책임이 있는 helper 타입을 도입하는 것이 좋다.

Design APIs for their default use case

Discourage the use of nil as a parameter

동일한 함수 시그니처에서 nil , nil-able 매개 변수를 혼합하여 사용하지 말라.

간결한 것 보다 명확한 것이 좋다.

Prefer var args to []T parameters

Let functions define the behaviour they requires

 

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

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

Practical Go - Concurrency  (0) 2020.12.20
Practical Go - Error handling  (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