오늘날까지도 전문가 팀이 제작 한 벨트 아래에서 수년 동안 사용 된 제품은 오늘날 까지도 사용자에게 유용한 오류 메시지를 제공하지 못한다 는 사실은 계속해서 놀랍습니다 . 경우에 따라 약간의 추가 정보 만 추가하면 사용자의 문제를 해결할 수 있습니다.
오류를 발생시키는 프로그램으로 인해 오류가 발생했습니다. 가능한 한 많은 정보를 사용자에게 알리기 위해 모든 것을 갖추고 있습니다. 그러나 사용자를 돕기 위해 정보를 제공하는 것이 우선 순위가 낮은 것 같습니다. 나는 이것이 큰 실패라고 생각합니다.
한 예는 SQL Server입니다. 사용중인 데이터베이스를 복원하려고 시도하면 제대로 작동하지 않습니다. SQL Server 는 액세스하는 프로세스 및 응용 프로그램을 알고 있습니다. 데이터베이스를 사용하는 프로세스에 대한 정보를 포함 할 수없는 이유는 무엇입니까? 모든 사람이 Applicatio_Name
연결 문자열에 속성을 전달하는 것은 아니지만 문제의 시스템에 대한 힌트조차 도움이 될 수 있습니다.
또 다른 후보자이며 SQL Server (및 mySQL)도 멋진 string or binary data would be truncated
오류 메시지와 이에 상응하는 것입니다. 많은 시간, 생성 된 SQL 문에 대한 간단한 설명과 테이블은 범인이되는 열을 보여줍니다. 항상 그런 것은 아니며 데이터베이스 엔진이 오류를 발견하면 왜 그 시간을 절약 할 수없고 어떤 열이 손상되었는지 알려줄 수없는 이유는 무엇입니까? 이 예제에서는 성능을 검사하여 성능이 저하 될 수 있으며 이는 작성자를 방해 할 수 있다고 주장 할 수 있습니다. 좋아, 내가 살께 데이터베이스 엔진이 오류가 있음을 알게되면 저장 될 값과 열 길이를 비교하여 사후에 빠른 비교를 수행하는 방법은 무엇입니까? 그런 다음 사용자에게 표시하십시오.
ASP.NET의 끔찍한 테이블 어댑터도 유죄입니다. 쿼리가 실행될 수 있으며 어딘가에 제약 조건이 위반되었다는 오류 메시지가 표시 될 수 있습니다. 고마워 개발자가 행 번호 또는 예제 데이터를 제공하기에는 너무 게으 르기 때문에 데이터 모델과 데이터베이스를 비교할 시간입니다. (기록을 위해, 나는이 데이터 액세스 방법 을 선택 하여 사용하지 않을 것입니다. 이것은 내가 상속 한 프로젝트 일뿐입니다!).
C # 또는 C ++ 코드에서 예외를 처리 할 때마다 내가 가진 모든 것을 사용자에게 제공합니다. 그것을 던지기로 결정되었으므로 더 많은 정보를 줄수록 좋습니다. 왜 내 함수에서 예외가 발생 했습니까? 무엇이 전달되었고 무엇이 예상 되었습니까? 예외 메시지 본문에 의미있는 것을 넣는 데 시간이 조금 더 걸립니다. 내 코드가 의미있는 것을 던지기 때문에 내가 개발하는 동안 나 에게 도움이되지 않습니다 .
복잡한 예외 메시지가 사용자에게 표시되어서는 안된다고 주장 할 수 있습니다. 나는 그것에 동의하지 않지만, 그것은 당신의 빌드에 따라 다른 레벨의 자세한 정보를 가짐으로써 쉽게 이의를 제기 할 수있는 주장입니다. 그럼에도 불구하고 ASP.NET 및 SQL Server 사용자는 일반적인 사용자가 아니며 문제를 더 빨리 추적 할 수 있기 때문에 자세한 정보와 자세한 정보로 가득 찬 것을 선호합니다.
개발자들이 오늘날과 시대에 오류가 발생했을 때 최소한의 정보를 제공하는 것이 좋다고 생각하는 이유는 무엇입니까?
그것은 2011 남자의 올 에 .