Page 31 -
P. 31

권이 생길 것이고, 그 도구로 인해 앞으로 조금 더 효율적으로 일하게 될 것
                  이다. 새로운 기능을 끊임없이 배포해야 한다는 압박 때문에 시간 절약 도

                  구 제작이라는, 중요하지만 급하지 않은 작업을 중단하거나 포기하지 마라.




                    디버깅과 검증 과정을 단축하라


                    자신이 작성한 모든 코드가 처음부터 버그 없이 잘 작동할 거라 믿는 건
                  희망 사항에 불과하다. 실제로는 문제를 디버깅하거나 작성한 코드가 예상

                  대로 작동하는지 검증하는 작업이 엔지니어링 업무의 많은 부분을 차지한
                  다. 이러한 현실을 빨리 인정해야만 하루라도 먼저 디버깅 과정, 검증 과정

                  의 반복 속도를 높이기 위한 투자를 시작할 수 있다.
                    이 작업을 위해 올바른 작업 흐름을 만들어두는 것은 시간 절약 도구에

                  투자하는 것만큼이나 중요하다. 개발자라면 아마 재현 가능한 최소한의 테

                  스트 케이스라는 개념에 익숙할 것이다. 이는 버그나 문제를 확인하기 위해
                  최대한 간단하게 만든 테스트 케이스를 가리킨다. 재현 가능한 최소한의 테

                  스트 케이스를 활용하면 주의를 분산시키는 모든 불필요한 요소가 제거되
                  므로 핵심 문제에 최대한 많은 시간과 에너지를 쏟을 수 있고 피드백 과정

                  을 짧게 만들어서 개발 주기를 빠르게 반복할 수 있다. 테스트 케이스를 분
                  리하려면 간단한 프로그램이나 단위 테스트에서 불필요한 코드를 전부 제

                  거하거나 사용자가 문제를 재현하기 위해 수행해야 하는 가장 짧은 절차를

                  알아내야 한다. 하지만 이러한 개념을 더 확장해서 버그나 기능을 개발하는
                  작업 흐름까지 최소화하는 사람은 거의 없다.

                    개발자들은 제품을 테스트할 때 일반적인 시스템 동작이나 사용자 상호
                  작용을 단축할 수 있다. 약간만 노력하면 프로그래밍으로 목적에 부합하는







                                                                 4장  반복 속도에 투자하라  103




     이펙티브엔지니어_07.indd   103                                                2022-06-14   오후 3:57:33
   26   27   28   29   30   31