1 minute read

닌자 코드

유지보수 담당자를 어렵게 하게 위해 독특한 코드들 사용

  • 코드 짧게 쓰기

갖은 지엽적 문법 지식 동원해 최대한 짧게 코드 빌드 다른 개발자들이 해석하는데 시간 들어감

  • 글자 하나만 사용

변수를 한글자로 만들거나 일반적으로 쓰지 않는 단어 사용

  • 약어 사용

모든 걸 줄임

  • 포괄적인 명사

네모가 아주 크면 마치 모서리가 없는 것처럼 보이며, 큰 그릇은 천천히 만들어지고, 소리가 너무 크면 들리지 않는 것 같고, 거대한 형상은 형태가 없다.

무언가 명명 시 포괄적인 단어 사용

  1. Data, Value

  2. str,num 등 자료형과 연관된 변수

  3. 숫자 붙이기

  • 철자 유사한 단어 사용

유사한 철자 사용으로 주의력 떨어지는 개발자 거르기 가능

  • 동의어 사용

유사한 뜻을 가진 단어 여러개 명명 같은 기능을 가진 함수라도 각기 다른 접두어 사용 중대하게 다른 기능을 가진 함수라도 같은 접두어 사용

  • 이름 재사용 하기

변수 선언은 중요할 때만 활용 새로운 값은 기존의 값에 할당 함수나 반복문에서 할당 값 은밀히 변경

  • 재미로 언더스코어 할당

코드 가독성 하락 동료 개발자들의 파악 시간 증가

  • 과장 형용사 사용

특별한 명명인것 처럼 포장

  • 외부 변수

빛 속에선 어둠을 볼 수 없고, 어둠 속에선 빛나는 곳에 있는 모든 것을 볼 수 있습니다.

함수 내, 외부에 동일한 변수명 사용

  • 부작용이 있는 코드

본래 기능을 넘어선 ‘유용한’ 기능 예상치 않은 결과 return

  • 함수에 다양한 기능 넣기

함수 기능 확장해서 함수가 할 수 있는 동작 이름에 한정짓지 않기 함수 하나에 여러 기능 넣어 코드 재사용 방지

요약

  • 닌자 코드는 유지 보수 담당자를 어렵게 하는 코드로 하지 말아야 할 것들.

  • 코드 짧게 쓰기

  • 변수에 글자 하나 사용

  • 약어 사용

  • 변수에 포괄적인 명사 사용

  • 철자 유사한 단어 사용

  • 동의어 사용

  • 변수 재사용

  • 재미로 언더스코어 할당

  • 과장 형용사 사용

  • 함수 내/외부 동일한 변수명 사용

  • 부작용 있는 코드

  • 함수에 다양한 기능 넣기

Categories: ,

Updated: