코드 냄새 42 - 경고/엄격 모드 끄기

컴파일러와 경고 표시등이 도움을 줍니다. 그들을 무시하지 마십시오.

문제


  • 누락된 오류
  • 파급 효과
  • 빠른 실패

  • 솔루션


  • 모든 경고 활성화
  • 프로덕션에서 사전 조건 및 어설션을 활성화합니다.
  • Design by contract

  • 샘플 코드



    잘못된




    array = [];
    console.log(array['1'])
    //undefined but keep going on
    
    hiddenGlobal = "I am a global"
    
    console.log(hiddenGlobal)
    //  I'm a global
    

    오른쪽



    array = [];
    console.log(array['1'])
    //Index Error
    
    noGlobal = "I am not a global"
    
    console.log(noGlobal)
    // ReferenceError
    
    var noGlobal = "I am not a global"
    
    console.log(noGlobal)
    // I am not a global
    

    발각



    대부분의 언어에는 경고 수준이 있습니다. 대부분을 켜야 합니다.

    잠재적인 문제에 대해 코드를 정적으로 분석하려면 린터를 실행해야 합니다.

    # 태그
  • 빠른 실패

  • 결론



    경고를 무시하고 코드가 조만간 이동하면 실패합니다.

    소프트웨어가 나중에 실패하면 근본 원인을 찾기가 매우 어려울 것입니다.

    결함은 첫 번째 경고에 가깝고 충돌에서 멀리 떨어져 있을 가능성이 높습니다.

    깨진 유리창 이론을 따른다면 어떠한 경고도 용인해서는 안 되며, 따라서 새로운 문제는 용인되는 경고의 바다에서 눈에 띄지 않게 지나치지 않을 것입니다.

    처지












    더 많은 정보







  • Use strict in javascript

  • 학점



    사진 제공: Noah Dominic Silvio on Unsplash

    One man's crappy software is another man's full time job.



    제시카 개스턴








    이 기사는 CodeSmell 시리즈의 일부입니다.


    좋은 웹페이지 즐겨찾기