ThePragmaticProgrammer가 지켜야할 ComputerProgramming에 있어서 피해야할것. 운에 맡기는 코딩.

지뢰밭을 지나는 지친 병사가 있다. 대검등을 탐침봉해서 서서히 찔러보면서, 지뢰밭을 지나간다. 그리고는 무사히 건넜다. 바뜨, 그는 단지 운이 좋았을뿐이다. ; 만일 지뢰를 찔렀다면 그는 끝장났을꺼다.

개발자에게 있어서 프로그래밍은 지뢰밭에서 일하는것 같다. 매일매일 수많은 부비트랩을 지나간다. 그냥 운에 맡기고 아무곳이나 찔러보겠는가? 그건 끝장나는 지름길이다. luck and accidental success에 기대지 말라. programming deliberately하라.

갑이란 프로그래머가 있다. 어느날 무언가 코딩한다. 돌아갈꺼처럼 보인다. 걍지나간다. 다음날 거기에 무언가 첨가한다. 돌아갈꺼처럼 보인다. 걍지나간다. 일주일이 지났다. 돌아라리라 밑었던게 돌지않는다. 바뜨, 암만봐도 뭐가 잘못된건지 모른다.

EvilWizards의 사용도 마찬가지다.

How to program deliberately

  • 지금 뭘하고 있는가를 항상 인식한다. 그렇지 않으면 BoiledFrogs꼴난다.

  • 눈가리개식 코딩은 안된다. 특정기능에 대해 완전히 이해못했으면서도 그 기능을 만드는것, 혹은 친숙하지도 않은 기술을 써먹는것등은 운에 기대는 코딩.
  • 계획에서 출발한다.
  • 믿을수 있슴직한 것에 의지한다. 우연 및 예측에 기대지 않는다.
  • 예측은 문서화한다. SeeAlso DesignByContract

  • 코드만을 테스트하는것이 아니라, 당신의 예측을 테스트 한다. 그리고, AssertiveProgramming한다.

  • 노력을 우선시한다. 중요한사항에 시간을 소비한다.
  • 역사의 노예가 되지 않는다. 기존의 존재코드를 보고 베끼지 않는다. 그건 Refactoring한다.

Something seems to work, but you don't know why, make sure it isn't just a coincidence


구구절절이 들어와닿는 내용이 아닐수 없다. 아... 지금 내가 코딩하는 문제가 바로 이거다. 어쩌다 보니, 돌아가던게... 뭣좀 바꾸니깐 돌아가지 않는다. 근데 암만봐도 왜 안돌아가는지 모르겠다는거다. 완전 ProgrammingByCoincidence했다는거지... 제발 programming deliberately하자. --yong27


CategoryManual

ProgrammingByCoincidence (last edited 2012-12-26 16:41:45 by 182)

web biohackers.net