The Pragmatic Programmer 책 에서 작가 는 우연의 개념에 의한 프로그래밍을 언급합니다 . 그것은 그것이 무엇인지, 왜 발생했는지, 당신이 겪을 수있는 위험이 무엇인지 설명하고 전쟁에서 지뢰밭과 비교합니다.
오래된 흑백 전쟁 영화를 본 적이 있습니까? 피곤한 병사는 솔에서 조심스럽게 전진합니다. 지뢰가 있습니까? 지뢰가 있습니까, 아니면 교차해도 안전합니까? 표지판, 철조망 또는 분화구가없는 지뢰밭이라는 징후는 없습니다. 군인은 총검과 함께 승리를 앞두고 땅을 찌르며 폭발을 예상했다. 없어요 그래서 그는 잠시 동안 들판을 헤쳐나 가며 뛰면서 찌르고 찌르는 소리를냅니다. 결국, 그는 현장이 안전하다는 것을 확신하고 똑바로 펴고 자랑스럽게 앞으로 나아갔습니다.
군인의 초기 광산 조사는 아무 것도 공개하지 않았지만 이것은 운이 좋았습니다. 그는 비참한 결과와 함께 잘못된 결론을 내 렸습니다.
개발자로서 우리는 지뢰밭에서도 일합니다. 매일 우리를 잡기 위해 기다리는 수백 개의 함정이 있습니다. 군인의 이야기를 기억하면서 우리는 잘못된 결론을 이끌어내는 것에주의해야합니다. 우연히 프로그래밍에 찬성하여 운과 우연한 성공에 의존하는 우연의 일치로 프로그래밍을 피해야합니다 ...
그러나 나는 그들이 "어떻게 극복 하는가"문제를 묘사하는 방식에 대해 정말로 만족하지 않습니다. 예, 코드를 작성하기 전에 미리 생각해야하지만 어떻게 연습해야합니까? 내가 생각할 수있는 유일한 것은 기존의 오픈 소스 프로젝트에 기능을 추가하는 것입니다. "지금하고있는 작업"과 "다른 코드가 어떻게 작동하는지"에 대한 지식이 있어야합니다. 자신의 프로젝트를 작성할 때
편집하다:
귀하의 게시물 요약 :
- 다음 행동을 추측하지 말고 그것이 올바른지 증명하십시오
- 필요한 경우 단위 테스트 및 리팩토링
- 기능 추가 – 컴파일 – 테스트
- 코드를 멍청한 짓으로 설명 할 수 없다면 우연의 일치로 프로그래밍했을 것입니다.
BTW, 대답을 받아들이 기가 어렵습니다. 정말 어렵습니다. 모든 답변은 정말 좋습니다 :)