몇 년 동안 카우보이 코딩을 한 후 좋은 품질의 코드를 작성하는 방법에 대한 책을 집어 들기로 결정했습니다. Robert Cecil Martin의 Clean Code를 읽고 있습니다. 3 장 (기능)에는 이항 기능에 대한 섹션이 있습니다. 다음은이 책에서 발췌 한 것입니다.
명백한 2 차원 함수조차
assertEquals(expected, actual)
문제가 있습니다. 실제 위치를 몇 번이나 실제 위치에 두었습니까? 두 가지 주장은 자연스러운 순서가 없습니다. 예상되는 실제 순서는 배우는 연습이 필요한 규칙입니다.
저자는 설득력있는 주장을합니다. 나는 기계 학습에서 일하고 항상 이것을 만납니다. 예를 들어, sklearn 라이브러리 (아마도 필드에서 가장 많이 사용되는 Python 라이브러리)의 모든 메트릭 함수를 사용하려면 입력 순서를주의해야합니다. 예를 들어 sklearn.metrics.homogeneity_score 는 입력 labels_true
및을 사용 labels_pred
합니다. 이 기능과 관련이없는 것은 입력 순서를 전환하면 오류가 발생하지 않는다는 것입니다. 실제로 입력을 전환하는 것은 라이브러리에서 다른 기능 을 사용하는 것과 같습니다 .
그러나이 책은와 같은 기능에 대한 현명한 해결책을 제시하지는 않습니다 assertEquals
. assertEquals
위에서 설명한 것과 같이 자주 접하는 기능 에 대한 수정 이나 생각을 할 수 없습니다 . 이 문제를 해결하기위한 모범 사례는 무엇입니까?