▲GN⁺ 2024-08-04 | parent | ★ favorite | on: "컬럼이 부족해요" - 최고이면서 최악이었던 코드베이스 (jimmyhmiller.github.io)Hacker News 의견 첫 회사에서 복잡한 VB 애플리케이션을 관리했음 각 고객의 요구에 맞춘 글로벌 변수가 많았음 디버그 모드에서만 버그가 나타나지 않아 고객에게 Visual Studio를 설치하고 디버그 모드로 실행하도록 가르쳤음 버전 관리가 없었고, 코드가 여러 폴더에 복사되어 혼란스러웠음 고객 문제 발생 시 현장에서 코드를 수정했음 최종 버전에 대한 합의가 없어 고객마다 다른 버전을 사용했음 첫 직장에서 COBOL과 Java로 작성된 레거시 제품을 유지보수했음 소스 제어 시스템에서 파일을 개별적으로 체크아웃하여 작업했음 고객마다 최종 컴파일된 제품을 나타내는 '마스터' jar 파일이 있었음 코드 변경 후 스크립트를 실행하여 마스터 jar 파일을 업데이트했음 코드베이스가 전체적으로 컴파일되지 않고 수동으로 패치되었음 코드베이스에 많은 불일치가 발생했음 git으로 마이그레이션하는 데 2년이 걸렸음 12,000줄 이상의 Perl 스크립트를 리팩토링했음 배열을 몰랐던 작성자가 문자열을 사용하여 배열을 구현했음 리팩토링 후 코드가 200줄로 줄어들었음 이론과 실제의 차이를 느꼈음 많은 회사와 프로젝트가 비슷한 과정을 겪음 이상적인 방법을 논의하지만, 실제로는 작동하는 방식으로 진행됨 Telegram 안드로이드 클라이언트의 코드베이스가 매우 복잡했음 큰 파일로 인해 GitHub가 렌더링을 포기했음 모든 메시지 렌더링과 상호작용을 단일 클래스에서 처리했음 리팩토링 권한을 받았지만 실행하지 못했음 첫 직장에서 보고 작업의 메모리 문제를 해결했음 팀 리더와 상사가 놀랐음 다른 개발자들이 Linux를 싫어하고 .NET으로 전환하려 했음 고객과 직접 소통하며 문제를 해결했던 경험이 좋았음 프로토타입을 빠르게 만들어 고객에게 테스트하게 했음 코드베이스는 지저분했지만 잘 작동했음 여러 시장을 지원하는 시스템을 만들었음 원래 시스템을 복사하여 국제 버전을 만들었음 5년 후 시스템이 분리되지 않고 서로 얽혀 있음 새로운 시스템과 구 시스템이 긴밀하게 결합되어 있음 첫 직장에서 경험이 부족한 사람들이 많았음 경험을 쌓은 후 더 나은 직장으로 이동했음 현대 SQL Server에서 문제를 해결하는 방법을 설명했음 고객 맞춤화, 공유 ID, 수동 캘린더 테이블, 테이블 파티셔닝, 지연된 보고 복제본 등 VB와 C# 혼합 코드베이스가 흔함 자동 변환 도구를 사용할 수 있음 ▲reddiana 2024-08-05 [-]채번테이블(SequenceKey)과 영업일테이블(Calendar) 추억 돋네요. 지금은 어떻게 하는지 모르겠는데 예전엔 흔하게 쓰이던 테이블입니다. SI를 하면 업무공통파트에서 관련 기능을 구현했죠. 답변달기
Hacker News 의견
첫 회사에서 복잡한 VB 애플리케이션을 관리했음
첫 직장에서 COBOL과 Java로 작성된 레거시 제품을 유지보수했음
12,000줄 이상의 Perl 스크립트를 리팩토링했음
이론과 실제의 차이를 느꼈음
Telegram 안드로이드 클라이언트의 코드베이스가 매우 복잡했음
첫 직장에서 보고 작업의 메모리 문제를 해결했음
고객과 직접 소통하며 문제를 해결했던 경험이 좋았음
여러 시장을 지원하는 시스템을 만들었음
첫 직장에서 경험이 부족한 사람들이 많았음
현대 SQL Server에서 문제를 해결하는 방법을 설명했음