오류
더할 것이 없을 때가 아니라 더 이상 뺄 것이 없을 때 완성이 되는 것 같다 - 앙투앙 드 생텍쥐페리
위의 진술로 유추/취득할 수 있는 내용이 많이 있습니다. 모든 면에서 완벽하지 않은 경우에만 프로그램에서 오류가 발생합니다. Antoin은 또한 무언가를 추가하지 않고 제거함으로써 모든 것이 완벽해질 수 있다는 통찰력을 제공합니다.
Douglas Crockford는 자신의 저서 JS Good parts에서 기능이 때로는 유용하고 때로는 위험하다고 말합니다. 더 나은 옵션이 있고 항상 더 나은 옵션을 사용합니다.
우리는 언어의 모든 기능을 사용하는 프로그램을 작성하는 데 비용을 지불하지 않습니다. 그 대신에 우리는 오류가 없고 잘 작동하는 프로그램을 작성하기 위해 돈을 받습니다.
위의 아이디어에 대한 나의 생각/요점
Always Always Always(너무 강조하지만 사실입니다), 언어의 특정 개념을 언제, 어떻게, 왜 사용해야 하는지 기억하십시오.
다음은 매우 간단한 예입니다. 예를 들어 JS에서 >, < 연산자를 사용합니다. 예를 들어 다음 예를 고려하십시오.
Number(true);//1
Number(false);//0
1 < 2;//true
2 < 3;//true
1 < 2 < 3;//true
( 1 < 2 ) < 3
( true ) < 3//Auto Coercion by js
1 < 3//true
But (Wait for it)
3 > 2 > 1
( 3 > 2 ) > 1
(true) > 1
1 > 1 //false
무엇!!! 그러나 우리는 그것이 사실이 아니라는 것을 알고 있습니다. 이것은 부울에서 숫자로 자동 변환되는 js의 코너 케이스 중 하나입니다.'( .
제 요점은 이 코너 케이스에 대해 알면 쉽게 예방할 수 있다는 것입니다.
이것은 우리가 극단으로 가서 다음을 따라야 한다는 것을 의미하지 않습니다.
유형 강성 또는 정적 유형 또는 유형 건전성.
사람들은 JS의 동적 타이핑이 가장 큰 약점이라고 말합니다. 가장 큰 장점 중 하나라고 생각합니다. 내 말은, 동적 타이핑 없이는 js를 상상할 수 없다는 것입니다. 동적 타이핑이 없었다면 우리는 많은 패러다임을 박탈당했을 것입니다.
그래서 제가 말하고자 하는 것은 사람입니다. 언어의 어떤 것도 마술이 아닙니다. 모든 것이 그런 식으로 의도되거나 역사적 이유 때문에 발생합니다(이전 기능을 손상시키지 않기 위해). 제발, 모든 지점에서 같은 질문을 하는 이유를 이해하는 것을 기억하십시오(어리석은 질문이 없음을 기억하십시오). 신청하기 전에 항상 이유를 이해하십시오.
오류는 일반적으로 발생합니다(코너 케이스 제외). 우리가 언어를 이해하지 못하기 때문에 그리고 우리 자신의 어리 석음 때문에 반대가 아닙니다.
참조 -
더 나은 부품. 더글러스 크록포드.
Kyle Sympson — Javascript Foundation(당신은 Javascript를 모릅니다).
내 의견에 동의하지 마십시오. 내 견해를 변경하십시오 ❤
Reference
이 문제에 관하여(오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bhargavmantha/errors-555e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)