문제

Wikipedia에 따르면이 용어는 원래 1982 년 데이터베이스 전문가 Joe Celko에 의해 만들어졌으며 다음은 다음과 같습니다. 그의 1997 년 기사 그가 의미하는 바를 공개 : "표준 [구조화 된 프로그래밍] 솔루션은 GOTOS를 중첩 된 if-then-else 문으로 대체하고 너무 깊고 중복성이 너무 많아서 Lasagna 판처럼 보이는 제어 경로를 가졌습니다."

동일한 Wikipedia 항목 그러나 다중 계층 응용 프로그램을 명확하게 언급하는 용어를 다르게 정의합니다. "... 웹 애플리케이션 코드, 비즈니스 로직 및 관계형 데이터베이스와 같은 다른 하위 시스템." 따라서 프로그래머가 새로운 방법론과 아키텍처를 개발함에 따라이 용어의 의미는 진화했습니다.

"Lasagna Code"의 두 가지 현대 정의를 생각할 수 있습니다.

  1. 과도하거나 지나치게 공학적이거나 사소한 소프트웨어 애플리케이션 계층 (분명히)
  2. 적절한 격리로 단위 테스트가없는 소프트웨어 응용 프로그램 계층. 개발자는 한 번에 여러 계층을 썰어 여러 레이어를 소비하여 시스템을 테스트했습니다.

이 용어는 분명히 비판을 의미합니다 ( "스파게티 코드"라고 부르면 내 물건을 비판 할 수 있습니다). 그러나 그것은 당신에게 무엇을 의미하며 언제 그것을 사용하겠습니까?

도움이 되었습니까?

해결책

나에게 그것은 의미한다 정당한 이유없이 겹쳐졌습니다.

다른 팁

너무 많은 gotos == 스파게티 코드

너무 많은 if-then-else/switch == lasagna 코드

:)

스파게티 코드 Wikipedia에서 참조 이것은 말할 것입니다,

라자냐 코드 잘 정의 된 여러 개의 분리 가능한 계층으로 특징 지어지는 프로그램 구조의 한 유형이며, 각 코드 계층은 잘 정의 된 인터페이스를 통해 아래 계층의 서비스에 액세스합니다.
용어는 비교적입니다 스파게티 코드, 프로그램 구조를 파스타와 비교합니다.

비유는에서 유래합니다 라자냐 접시의 층 구조,
다른 성분 (고기, 소스, 채소 또는 치즈)이 각각 파스타 스트립으로 분리됩니다.

제 아내가 만드는 종류 인 잘 만든 라자냐는 잘 겹쳐지고 깔끔하며 스파게티는 혼란스러운 혼란이기 때문에 후자는 모욕이 될 것이라고 생각할 것입니다. 그것은 분리 된 층으로 개발되었습니다. 나는 MVC가 프로그래밍에 대한 라자냐 접근법으로 간주 될 것이라고 생각하지만, 어리석은 소리를 내며 결코 그것을 사용하지 않을 것입니다. 게다가, 뚱뚱한 프로그래머에게 라자냐 응용 프로그램을 쓴다고 말하면 가난한 사람을 불쾌하게 할 위험이 있습니다.

또한 이탈리아 인이 작성한 코드를 참조 할 수 있습니다. :)

나는 전에 Lasagna 코드에 대해 들어 본 적이 없지만 가장 먼저 떠오르는 것은 "스파게티 코드"였습니다. 내 추측은 그 일부가 사방에 있었지만 대다수는 응집력있는 단위였습니다. 스파게티 코드는 나쁘지 않지만 불러지기에 충분하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top