2010-11-29 2 views
1

프로그래머가 명확하게 코드 구조에서 의도하지 않은 동작을 유발할 수있는 의도적 인 선택을했으나 기술적으로 버그가없는 경우가 있습니다 . 이 버그가 버그로 분류되어 고쳐 져야합니까?예기치 않은 기능이 버그 또는 단지 디자인이 좋지 않은 경우

예를 들어, 잘 알려진 오픈 소스 전자 상거래 시스템 (내 대답 내역을 살펴보면 어느 것을 해결할 수 있습니까?)은 관리자가 추가해야하는 단위를 여러 개 지정할 수있는 수량 증분 기능을 제공합니다 (예 : 5, 10, 15, 20 등). 이 코드는 시스템이 "재고 관리"모드 (재고 수준이 각 주문에 따라 감소) 일 때만 적용되도록 작성되었습니다. 이제 점포 주인은 재고 수준을 관리하지 않고 지정된 증분으로 제품을 판매하고자 할 수있는 완전히 유효한 상황입니다. 이 코드는 구성을 자동으로 무시하며 (관리자에게 의견이 없음) 관리 주식을 사용하도록 요구하는 문서는 없습니다.

이것은 버그입니까? 아니면 그냥 가난한 디자인/문서.

일부 독자는이 질문을 주관적인 것으로 해석 할 것이라고 확신하지만 버그와 잘못된 디자인 간에는 중요한 차이가 있다고 생각합니다. 이는 버그보고가 내부 회사 시스템과 다른 프로세스에서 작동하는 경향이있는 오픈 소스 프로젝트에서 특히 중요합니다.

+1

가끔은 기능입니다 -;) – EJP

+0

@EJP 나는 공식적인 문구가 "기능 없음"이라고 생각합니다. :) –

답변

2

버그는 프로그래머가 생각한 것과 다른 동작을 나타내는 반면, 불량한 디자인은 프로그래머가 의도 한 동작이 사용자가 합리적으로 기대할 수있는 것 이상임을 의미합니다.

1

편도 또는 다른 편이 올바른지 식별하는 사양이 있습니까? 사양이있는 경우 버그입니다.

사양이 없으면 설명서가 좋지 않을 수 있습니다.

코드가 구성을 자동으로 무시하면 오류가 발생할 수 있습니까? 그러면 그것은 버그입니다.