비 일대 오류는 가장 일반적인 프로그래밍 오류 중 하나 인 것 같습니다 ( /software/109/what-are-common-mistakes-in-coding 참조). 및 기존의 지혜).
이것이 일반적인 이유는 무엇입니까? 인간의 뇌가 작동하는 방식과 관련이 있습니까?
한 번의 실수로 먹이가 떨어지지 않도록 어떻게 할 수 있습니까?
비 일대 오류는 가장 일반적인 프로그래밍 오류 중 하나 인 것 같습니다 ( /software/109/what-are-common-mistakes-in-coding 참조). 및 기존의 지혜).
이것이 일반적인 이유는 무엇입니까? 인간의 뇌가 작동하는 방식과 관련이 있습니까?
한 번의 실수로 먹이가 떨어지지 않도록 어떻게 할 수 있습니까?
답변:
그것은 일종의 인간의 뇌가 작동하는 방식과 관련이 있습니다. 우리는 일반적으로 엔지니어링 등급의 정밀도를 요구하지 않는 작업에 "충분히"적합하도록 배선되었습니다. 우리가 가장 다루기 어려운 경우를 "가장자리"사례라고하는 이유가 있습니다.
아마도 일대일 오류를 피하는 가장 좋은 방법은 캡슐화입니다. 예를 들어 인덱스를 기준으로 컬렉션을 반복하는 for 루프 (0에서 count-1)를 사용하는 대신 열거 자에 내장 된 중지 위치의 모든 논리와 함께 for-each 스타일 루프를 사용하십시오. 이렇게하면 컬렉션을 반복 할 때마다 열거자를 작성할 때 경계를 한 번만 가져와야합니다.
뇌가 테두리와 가장자리를 처리하는 방법에 특별한 것이 있습니다.
그것은 뇌의 관점에서 생각하기가 쉽다 동안 범위 와 공간 , 가장자리에 집중하는 것은 좀 더주의를 요구하는 것 같다. 어떻게 발생하는지, 순간적인 주의력 상실 또는 집중력 부족으로 국경을 놓쳤습니다.
문제에 대한 또 다른 약간의 추가 사항은 서로 다른 프로그래밍 환경에서 0 또는 1로 시작하는 서로 다른 인덱싱 시스템을 가지므로 두 유형의 환경에 적극적으로 노출되는 사람들에게 혼란을 줄 수 있습니다.
컨텍스트 전환 때문이라고 생각합니다. 일상 생활에서 우리는 1 기반 인덱스를 사용하는 경향이 있습니다. 이 때문에 우리의 뇌는 올바른 행동을 장기 기억으로 태울 수 없습니다.