문제

개발자 도구와 소프트웨어는 일반적으로 제공하지 않습니다 오류 메시지의 솔루션 제안. 이것은 컴파일러가 말해야하기 때문에 의미가 있습니다. 정확하게 무엇이 잘못되었는지.

거기 있습니다 "매인" 제안을 제공하는 도구이지만 Afaik은 보풀 도구를 정기적으로 또는 전혀 사용하는 개발자는 거의 없습니다.

많은 개발자 지향 소프트웨어 세트가 있습니다. "제안 된 솔루션"오류 메시지에 대한 부분. 이것은 Eclipse와 같은 IDE가 가진 위대한 기능 중 하나입니다. 그러나 웹 애플리케이션 프레임 워크, 표준/인기 라이브러리 등과 같은 소프트웨어에는이 유용한 기능이 없습니다.

이것은 사용자 친화적 인 디자인이 부족한 것입니까 (Google이 너무 좋다는 점을 감안할 때이 불필요한 것을 고려할 수 있습니까?) 또는 그에 대한 좋은 이유가 있습니까? 사용하는 컴파일러, 프레임 워크, 플랫폼이 솔루션 제안과 함께 오류 메시지를 제공하십시오. 그렇지 않으면 왜 그렇지 않습니까?

도움이 되었습니까?

해결책

컴파일러 또는 런타임 오류에서 내가 원하는 주요 사항은 컨텍스트입니다. 어디에서 발생했으며 실패했을 때 어디서 호출되었는지.

나는 대부분의 현대적인 컴파일러와 런타임 (Java, Ruby, Go)이 줄 번호와 스택 추적으로 대부분의 버그를 찾을 수있는 괜찮은 작업을 수행한다고 생각합니다. JavaScript 옵션조차도 좋아지고, 디버깅에 대한 좋은 오래된 "Alert ()"접근 방식을 이겼습니다.

제안 된 솔루션을 IDE에 남겨 두는 것이 충분하지 않습니까?

그러나 나는 오류 메시지가 매우 드문 프레임 워크/라이브러리를 보았고, 소스 코드가없는 일부 타사 라이브러리 내부의 "264 라인의 NullPointerException"은 아무것도 말하지 않는다는 데 동의합니다.

이것이 문제라면, 나는 그것이 주로 타사 라이브러리로 제한되어 있다고 생각합니다. "정당한 이유"는 아마도 누군가의 여가 시간에 서둘러 개발되었으며, 우선 순위 목록에 의미있는 오류 메시지를 매우 높게하지 않았을 것입니다.

다른 팁

뭐를보고 싶으세요?

Error: Null Pointer Exception (suggested solution: Set the object to something).

내 말은, 당신을 교육하는 것은 오류 작가의 일이 아닙니다. 정확한 문제를 가리키는 간단한 오류 메시지를 선호하므로 이번에는 원인을 결정할 수 있습니다. 나에게 이것은 확실히 제 3 자 도구의 영역에서 줄을 섰다. 아마도 컴파일러는 분석을 수행하기 위해 광범위한 맥락을 제공 할 수 있지만, 실제로 가치있는 것은 아닙니다.

해결책이 어렵습니다 오류 제시되고 있습니다. 많은 가능성이 있으며 @silky가 지적했듯이 일부는 진단을받을 수 없습니다.

경고 다른 짐승입니다. 많은 상황에서 현대 컴파일러는 이것을 사용하여 "Y가 Y를 말했을 때 X를 의미한다고 생각합니다. 확인하고 싶을 수도 있습니다."

프로그래밍 언어는 사용자 인터페이스 측면에서 최고의 유연성이 될 수 있습니다. 컴퓨터가 원하는 모든 것을 할 수 있습니다. 동전의 뒤집기면은 하나의 캐릭터가 잘못된만큼 입력하면 실수가 어떤 축이나 어디에서 나왔는지 전혀 모른다는 것입니다.

유연성이 적은 시스템은 문제에 대한 솔루션을 제공 할 수있는 더 많은 기회를 제공합니다. LISP 컴파일러에 (ABC)를 입력하고 A가 무엇인지 알지 못하면 많은 유효한 코드 라인에 너무 가깝기 때문에 단일 수정을 정확하게 제안 할 수 없습니다. COBOL 프로그램이 시작될 때 "식별 부문"을 철자하는 경우 컴파일러가 오류를 발견하고 도와주는 것은 비교적 쉽습니다. 대부분의 다른 언어는이 극단 사이에 있습니다.

프로그래머는 경력을 통해 덜 강력하고 구조화 된 언어에서보다 강력하고 유연한 언어로 이동하는 경향이 있습니다. (적어도, 그것은 JavaScript가 뜨거운 초보자 언어가되기 전에 일어난 일입니다.) 이것은 징계가 무엇을 해야하는지 말하면서 힘을 제공하는 도구를 사용할 수있는 시점으로 향상되는 것을 의미합니다. 내가 사용한 환경은 내가 무엇을 고쳐야하는지, 내가 사용하는 것을 좋아하지 않는 경향이 있습니다.

다른 예술과 다르지 않습니다. 음악가, 화가 또는 무술가, 배우, 작가 또는 요리사 또는 스페인어를 배우는 법을 배우는 사람들을보십시오. 젊고 경험이 없을 때는 많은 구조가있는 시스템에 들어가서 실수를하는 경우 누군가가 쉽게 수정할 수 있습니다. 더 숙련되면서, 그들은 더 적고 적은 지원을 필요로하고 덜 필요합니다. 그들이 전문가가 될 때, 그들은 전혀 지원할 필요가 없지만 동전의 뒤집기는 당신이 옳고 그른 것을 쉽게 지적 할 수 없다는 것입니다. 아이가 줄 밖에서 색깔이 색상을 밝히면 문제를 설명 할 수 있지만 피카소 나 폴락이 나쁜 브러시 스트로크를한다면 무엇을 말 하시겠습니까? 아니면 Philip Glass가 메모를 제자리에 두거나 Bruce Lee가 몸을 너무 멀리 펀치로 바꾸는가? 그리고 비참한 일이 불가능할 정도로 제한된 예술 형태로 누가 일하고 싶습니까? COBOL 컴파일러는 여전히 원하는 사람이라면 여전히 존재하지만, 훨씬 더 많은 사람들이 끔찍한 색상의 인쇄물보다 끔찍한 그림을 위해 돈을 지불합니다.

더 직접적으로 사이트가 있습니다. 오류 (nee bug.gd), 오류 메시지를 입력하고 결과를 얻을 수 있습니다. 아무도 그것을 사용하지 않습니다. 난 노력 했어. 가능한 답이 하나만있는 맥락에 있지 않는 한, 제안 된 솔루션 사전에 대한 간단한 문제가 작동하지 않으므로 창의적인 분야에서는 완전히 실패합니다.

대부분의 IDE에는 고유 한 컴파일러가 있습니다. 이를 통해 부분 편집, 코드 리팩토링 및 기타 여러 트릭을 수행 할 수 있습니다. 오류 메시지와 제안이 매우 유용하다고 생각합니다. 컴파일러가 명령 줄에서 호출되지 않았다고해서 컴파일러가 아니라는 것을 의미하지는 않습니다.

대체 텍스트 http://www.theeggeadventure.com/wikimedia/images/1/1f/eclipse-error.png

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