인코딩에 대한 생각:if else와if

개발 과정에서 저는 인코딩에 대한 생각과 느낌을 썼습니다.

생각


같은 동작이라도 코드의 작성이 많을 때 코드의 작성자는'독자의 의도에 의식적으로 영합하여 쓰기를 결정해야 한다'고 느낄 수 있다.

ifelse와if어느 것이든쓸 수 있을 때,ifelse가 좋다


if의 return 코드에서if else를 사용하면 의도를 쉽게 전달할 수 있습니다.
func immigration() {
    if nationality == "japan" {
        // 日本人用の処理
        // ...
        return
    }
    // 日本人以外の処理
    // ....
    return
}
if else를 사용할 때.
func immigration() {
    if nationality == "japan" {
        // 日本人用の処理
        // ...
    } else {
        // 日本人以外の処理
        // ....
    }
}

이렇게 생각하는 이유.


코드를 읽을 때 많은 사람들이 처음부터 전체적인 절차를 파악했다.만약의return 코드는 전체적인 절차를 파악할 때if의return을 눈치채지 못할 때nationlaity == "japan"특별한 처리를 하고'일본인 이외의 처리'로 돌아간다.적어도 나는if에else가 없는 상황에서 주류 처리에 들어가기 전에 특별한 처리가 있을 것이라고 예상하기 때문에 오해하기 쉽다.
특히 정리되지 않은 코드로 착각하기 쉽다.자의적일 수도 있고, 아래의 코드라면 오해를 불러일으킬 수도 있는데...

나는ifelse가 전체적인 절차를 파악할 때 틀리기 어렵다고 생각한다.(코드가 정리되지 않으면 고통스러울 수 있다.)

최후


다음과 같은 인상을 가지고 의도에 따라 구분해서 사용하면 독자에게 부드러운 코드가 된다.
  • if: 본 흐름 처리에 들어가기 전의 특수 처리
  • if else: 분기 후 주류와 합류하지 않는 처리
  • 좋은 웹페이지 즐겨찾기