▲GN⁺ 2024-02-17 | parent | ★ favorite | on: 아무것도 하지 않을 거라면, 적어도 올바르게 아무것도 하지 않는 방법(devblogs.microsoft.com)Hacker News 의견 "에러를 삼키는 것"에 대한 의견: 에러를 숨기는 것은 좋지 않은 관행임. 문제를 해결하지 않고 소프트웨어의 결함을 숨김으로써 버그 발견과 테스팅을 더 어렵게 만듦. Go 언어의 panic은 테스팅 시 프로그래머의 실수를 크게 알리는 좋은 방법임. 시스템 내의 액터들이 자신의 결함을 숨기려고 하면 문제를 파악하고 해결하는 것이 훨씬 어려워짐. 역호환성에 대한 의견: 역호환성은 언제나 지저분한 작업이며, 완벽하지 않으면 아예 하지 않는 것 사이의 선택임. Word '97이나 MS-DOS용 게임 파일을 클릭하면 오늘날 컴퓨터에서도 예상대로 열리는 것은 이러한 이유 때문임. UI 디자인에 대한 불만: 존재할 수도 있는 장치를 제안하는 UI는 매우 답답함. 실제로 지원되지 않는 장치를 발견하는 데 시간을 낭비하게 됨. Microsoft의 학습 부족에 대한 지적: Microsoft는 30년이 지나도 여전히 같은 실수를 반복하고 있음. 앱이 프린터를 찾으려 할 때 빈 목록을 보여주는 것은 이전의 문제를 반복하는 것임. Xbox의 프린팅 미지원에 대한 의견: Xbox가 프린팅을 지원하지 않는 것은 Microsoft가 그렇게 정의했기 때문임. 하드웨어적으로는 다른 Windows 기기와 프린팅 능력이 동일함. 이러한 "해결책"은 Microsoft의 비합리적인 결정으로 인한 문제임. API 사용에 대한 조언: 사용자보다 컴포넌트가 먼저 문제를 겪어야 한다는 것은 맞지만, 저자의 표현 방식에는 동의할 수 없음. 프린팅 함수가 NotSupportedException을 던지는 것이 잘못된 것은 아님. 저자가 설명하는 것은 불량한 클라이언트를 지원하기 위한 해킹임. "악의적인 순응"에 대한 감정: 문제를 다루는 방식에 대해 좋아하면서도 싫어함. 그러나 플랫폼에서 더 많은 사용자가 더 많은 소프트웨어를 실행할 수 있게 하는 것이 목표라면 이 방법이 좋음. 보안에 대한 긍정적인 의견: API 호출을 올바르게 무시하는 것은 프로그램이 더 해로운 행동을 하는 것을 방지함. 브라우저 전략에 대한 회고: HTML 코드에 오류가 있어도 최선을 다해 페이지를 표시하려는 전략이 한때는 좋은 전략으로 여겨짐. 사용자는 오류를 원하지 않으며, 이러한 경험에서 배웠어야 함. 예외 처리에 대한 비판자들의 오해: 예외를 던질 필요가 없는 상황에서 비판자들이 놓치고 있는 점이 있음. 장치(프린터)가 연결되어 있지 않은 경우 앱은 그 상황을 깔끔하게 처리해야 하며, 충돌해서는 안 됨.
Hacker News 의견
"에러를 삼키는 것"에 대한 의견:
panic은 테스팅 시 프로그래머의 실수를 크게 알리는 좋은 방법임.역호환성에 대한 의견:
UI 디자인에 대한 불만:
Microsoft의 학습 부족에 대한 지적:
Xbox의 프린팅 미지원에 대한 의견:
API 사용에 대한 조언:
NotSupportedException을 던지는 것이 잘못된 것은 아님."악의적인 순응"에 대한 감정:
보안에 대한 긍정적인 의견:
브라우저 전략에 대한 회고:
예외 처리에 대한 비판자들의 오해: