드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
게시물ID : programmer_15149짧은주소 복사하기
작성자 : 아이고이런★
추천 : 10
조회수 : 890회
댓글수 : 15개
등록시간 : 2015/12/24 00:29:31
오래된 프로그램을 유지보수하다보면 다양한 것들을 보게된다.
0.명세도, 내역도, 주석도 없는 코드는 너무나 흔한 일이다.
1.스파게티는 기본이며, 절대로 작동하지 않는 모듈 및 함수, 메소드, 클래스 등이 넘친다.
2.심지어 소스코드가 유실되어 있는 경우도 허다하다.
0.
이 코드의 시대적 배경, 글쓴이의 심정, 글쓴이가 의도한 바를 찾아내는 것부터가 유지보수의 첫걸음이다.
코드를 읽어내려가며, 특정 시대에 유행했던 코딩 기법, 알고리즘 등을 파악해야한다.
그리고 글쓴이의 절박한 심정을 유추해야 하며, 글쓴이가 절실히 원했던 목표가 무엇인지 알아내야 한다.
물론 여러사람의 손을 거친 코드는 여러 시대가 아우러져있는 예술 작품이 되어있을 것이다.
하지만 노련한 메인테넌서는, 그 모든 사람들의 의향을 파악해야한다.
메인테넌서는 크레이터가 아니기 때문이다.
메인테넌서는, 최대한 그 시절을 재현해 글쓴이가 그토록 갈망했던 것을 성취시켜 줄 의무가 있는 사람이다.
만약 그것을 실현하지 못한다면, 당신의 코드는 새로운 예술작품이 될 것이다.
그리고 훗날 본인이 다시 그 코드를 본다면, 새로운 글쓴이로 인지할 것이다.
1.
스파게티는 맛있다. 경험과 감, 운에 의존해야한다. 우회로를 개통하는 것이 좋다.
절대로 작동하지 않는 코드들은 이런 식으로 탄생했을 것이라고 유추한다.
버려진 코드를 추모하자. 글쓴이를 기리며 기념비로 님겨두자.
2.
잃어버린 것은 절대로 복원할수 없음을 명심하자.
화석과 유물을 통해 시대상을 유추하듯, 리버싱을 시도하는 것도 나쁘지 않다.
다만, 리버싱을 통해서 재구성된 코드는 온전히 본인의 코드라는 것을 명심해야한다.
완벽하게 재구성하였다면 과거의 실수도 그대로 재구성하였을 터.
트러블이 생기면 온전히 본인의 책임이다. 본인의 의사와 관계없다.
그러니, 유물은 유리상자에 넣어 박물관에 전시를 하자. 그리고 유리와 박물관을 잘 꾸미자.
즉, API화를 시키는 것도 하나의 방법이다.
99.
소문으로만 행해지는 인수인계.
경험과 감, 운으로 이루어지는 유지보수.
10년이 넘도록 유지되어 온 이 프로그램이 대딘하다고 느껴진다.
이 프로그램을 매 윈도 버전에 대응한 역사 속 인물들,
그리고 하위 버전 호환성 유지를 위해 노력한 MS의 노고에 경의를 표한다.
ME부터 시작한 이 프로그램이 Windows 10 64bit 환경에서 작동한다는 것이 경이롭다.
차기 읜도 버전이 출시 될 때 즈음에는, 이 프로그램은 내 손을 떠나 있겠지.
또다시 누군가의 손을 거쳐, 새 생명을 부여받을 수 있을까.
- 달빛 아래에서, 야근하는 메인테넌스가.
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.