«legacy-code» 태그된 질문

원래 레거시 코드는 작성자 또는 이전 프로그램 / 시스템 버전에서 '상속 된'코드를 의미했습니다. Michael Feathers가 그의 "Working Effectively with Legacy Code"책을 출판 한 이후로, 테스트가없는 코드가 레거시 코드 인 새로운 정의가 생겼습니다.

20
실패로 향하는 프로젝트에서 개발자로서 어떻게 행동해야합니까?
저는 5 명으로 구성된 팀의 개발자이며 프로젝트가 재난을 겪고 있다고 생각합니다. 잠시 이유를 설명하지만 제 질문은 어떻게해야합니까? 마감일은 1.5 개월이며 우리가 무엇을하든이 프로젝트는 실패 할 것입니다. 프로젝트를 끝내고 시간 낭비를 중단해야한다는 의견이 있지만 정치적으로는 관리자가 그렇게 할 수 없다고 생각합니다. 이 경우 어떻게해야합니까? 좀 더 노력해야합니까, 아니면 그냥 쉬어야합니까? 그리고 …

9
레거시 코드베이스에서 시간 비용 추정
최근에 아주 오래된 단일 응용 프로그램이 마이크로 서비스 기반 아키텍처로 마이그레이션되는 프로젝트를 시작했습니다. 레거시 코드베이스는 매우 혼란스럽고 ( '스파게티 코드') 종종 단순한 함수 (예 : "multiplyValueByTen")는 나중에 "3 개의 서로 다른 스키마에서 10 개의 테이블을 포함하는 수천 개의 유효성 검사 코드 행"으로 나타납니다. 이제 상사는 새 아키텍처에서 기능 X를 작성하는 …

10
완전한 리팩토링 시간이 없을 때 레거시 코드에 대한 테스트를 작성하는 것이 합리적입니까?
나는 보통 레거시 코드 e로 효과적으로 작업하기 책의 조언을 따르려고 노력합니다 . 의존성을 깨고 코드의 일부를 @VisibleForTesting public static메소드와 새로운 클래스로 옮겨서 코드 (또는 적어도 일부)를 테스트 할 수있게 만듭니다. 그리고 새 기능을 수정하거나 추가 할 때 아무 것도 깨지지 않도록 테스트를 작성합니다. 동료는 내가 그렇게해서는 안된다고 말합니다. 그의 추론 …

8
레거시 코드베이스의 품질 표준을 낮추는 방법에 대해 논쟁하는 방법은 무엇입니까? [닫은]
우리는 상상할 수없는 나쁜 코드가있는 큰 레거시 코드베이스를 가지고 있습니다. 우리는 이제 몇 가지 품질 표준을 정의했으며 완전히 새로운 코드베이스에서 또는 기존 코드를 만지는 경우 그 표준을 충족 시키려고합니다. 그리고 우리는 이미 수천 건의 위반 사항이있는 Sonar (코드 분석 도구)를 가진 사람들을 시행합니다. 이제 토론은 레거시에 대한 위반을 낮추기 위해 …

4
부정적인 용어 "레거시 코드"의 기원은 무엇입니까
모두가 소프트웨어 개발에서 레거시 코드에 대해 이야기하고 있으며 지난 10 년 동안 코드베이스를 나쁜 것으로 묘사하는 데 사용되는 용어를 들었습니다. 프로그래머들에게 그러한 강력한 의미가있는이 용어는 어디에서 유래 했는가? 이 용어를 개척 한 소프트웨어 개발에 관한 책이 반드시 있어야합니다. "레거시 코드"라는 용어의 원점을 찾고 싶습니다.

2
역사적으로 성장한 소프트웨어를위한 명명 된 안티 패턴이 있습니까? [닫은]
여러 개발자가 방금 시스템에 새로운 기능을 추가했지만 아무도 전체 아키텍처를 주시하거나 리팩토링을 수행하지 않은 역사적으로 성장한 소프트웨어 시스템을 설명하는 안티 패턴이 있습니까? 관리 / 고객이 지속적으로 새로운 기능을 요구하고 아무도 리팩터링하지 않고 다른 개발자가 이전에 한 일을 추가 할 때 이런 일이 발생한다고 생각합니다. 개발자가 소프트웨어 시스템에 압도되어 현재 작동 …

8
수많은 실패한 테스트를 처리하는 방법은 무엇입니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . Java로 작성된 오래된 프로젝트를 개발 중입니다. LOC는 천만 개가 넘고 4000 개가 넘는 기능 테스트가 있습니다. Hudson에 …

6
레거시 코드를 다루는 것이 프로그래머로 발전하는 데 도움이됩니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 나는 1 년 이상의 경험을 가진 Java 개발자이며, 저를 중학교 이상의 어딘가에 있지만 아직 중간 수준의 개발자는 …

5
과도한 메소드 과부하를 피하는 방법은 무엇입니까?
우리는 응용 프로그램의 소스 코드에 꽤 많은 장소가 있습니다. 한 클래스에는 동일한 이름과 다른 매개 변수를 가진 많은 메소드가 있습니다. 이러한 메소드에는 항상 '이전'메소드의 모든 매개 변수와 하나 이상의 매개 변수가 있습니다. 그것은 긴 진화 (레거시 코드)와 이러한 생각 (믿습니다)의 결과입니다. " A를 수행하는 메소드 M이 있습니다. A + B를 …

5
리팩토링 할 코드에 대한 테스트를 작성해야하는 이유는 무엇입니까?
거대한 레거시 코드 클래스를 리팩토링하고 있습니다. 리팩토링 (나는 추정한다)은 이것을 옹호한다 : 레거시 클래스에 대한 테스트 작성 수업에서 도덕을 리팩터링하다 문제 : 클래스를 리팩터링하면 1 단계의 테스트를 변경해야합니다. 예를 들어, 레거시 메서드에 있던 것이 이제는 별도의 클래스가 될 수 있습니다. 한 가지 방법은 여러 가지 방법 일 수 있습니다. 레거시 …

5
몇 년 동안 팀이 제품 혁신이 없었고 프로젝트 관리 방법을 사용하지 않았으며 소프트웨어 개발 관행을 잘못 유지했을 때 개발자로서해야 할 일은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 몇 년 동안 변경되지 않았으며 결국 제품 및 팀 장애로 이어질 현재 소프트웨어 개발 프로세스를 처리하는 방법을 알고 …

11
당신이 그것에 붙어 클래식 ASP를 재미있게 만드는 방법? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 나는 아주 작은 아웃소싱 회사 (4 명의 프로그래머와 상사)에서 일한 적이 있는데, 스트레스와 잦은 긴 교대가 상황을 견딜 수 없게 만들었을 …

6
기능 요구 사항이 민첩합니까?
요즈음 모든 사람들이 민첩 해지기를 원합니다. 내가 함께 일한 모든 팀에서 민첩한 모양이 달랐습니다. 일상적인 스탠드 업이나 계획과 같은 일반적인 일이 있지만 다른 부분은 크게 다릅니다. 현재 팀에는 방해가되는 세부 사항이 있습니다. 기능 요구 사항이 부족합니다. 예상되는 서면 형태는 물론 작업에서도 수행해야 할 작업이 모호하게 정의되어 있습니다. 프로젝트 목표는 새로운 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.