2009-07-16 25 views
39

Tôi đã nhìn thấy cả hai thông báo ngoại lệ có và không có dấu chấm. Và tôi có thể nghĩ ra một số lý do tại sao cả hai đều có thể tốt.Bạn có kết thúc tin nhắn ngoại lệ của mình trong một khoảng thời gian không?

  • Không có dấu chấm nào sẽ cho phép bạn tự do thêm khoảng thời gian hoặc bỏ thời gian nếu muốn. Có thể hữu ích nếu thông báo đang diễn ra trong một số loại thanh tiêu đề hoặc một cái gì đó.
  • Với dấu chấm, bạn sẽ luôn biết rằng bạn có "câu hoàn chỉnh" và trông có vẻ hoàn thiện hơn.

Bạn khuyên bạn nên giới thiệu cái nào?

Cũng có thể là sự cố trong chuỗi tài nguyên được bản địa hóa. Rõ ràng là bạn không thể đặt một khoảng thời gian sau khi tất cả mọi thứ (có vẻ lạ với thời gian sau khi văn bản trên các nút và các mục trình đơn, vv). Nhưng sau đó bạn có nên để khoảng thời gian ra khỏi mọi thứ để nhất quán và thêm nó sau này vào nơi hữu ích không? Hay bạn muốn đặt một khoảng thời gian có vẻ phù hợp? Ví dụ sau khi tất cả các chuỗi tài nguyên và các thông báo ngoại lệ là các câu, nhưng không phải sau các từ là các từ. Nhưng sau đó, làm thế nào về những câu rất ngắn? Ví dụ như "Tạo tệp mới". Có thể có thể để lại khoảng thời gian cho các chuỗi được coi là hành động ... (Chỉ cần suy nghĩ trong khi im gõ ở đây ...

Không phải điều quan trọng nhất trên thế giới, tôi biết. Nhưng những điều nhỏ như thế này có xu hướng Tôi rất thích sự nhất quán và biết lý do tại sao tôi làm những gì tôi làm Vấn đề là tôi không chắc chắn nên làm gì: p

Trả lời

38

Có, tôi thường xử lý các thông báo ngoại lệ dưới dạng câu đầy đủ, kết thúc chúng với thời gian.

Tuy nhiên, thông điệp trong ngoại lệ được dành cho các nhà phát triển , và không phải là người dùng cuối. Nó có thể v ery cũng được rằng cùng một ngoại lệ cơ bản nên kết quả trong hai tin nhắn khác nhau cho người dùng cuối, tùy thuộc vào bối cảnh trong đó các phương pháp ném ngoại lệ được gọi.

Bạn thực sự nên hiển thị ít thông điệp thân thiện hơn, thân thiện với người dùng hơn cho người dùng.

+7

1 cho phù hợp với khuôn khổ NET. –

5

Tôi luôn sử dụng các khoảng thời gian trong mô tả ngoại lệ của mình. Thực tế đơn giản là các câu được đặt đúng dấu chấm câu dễ đọc và chuyên nghiệp hơn, điều này quan trọng đối với chất lượng cảm nhận - bạn có nghĩ vậy không?

So sánh nó với:

tôi luôn luôn sử dụng thời gian trong mô tả ngoại lệ của tôi thực tế đơn giản là câu mà được nhấn đúng là dễ dàng hơn để đọc và chuyên nghiệp hơn tìm kiếm đó là quan trọng đối với chất lượng cảm nhận không bạn nghĩ

+0

Minh họa thú vị. –

+2

Tôi nghĩ rằng không hiển thị thông báo ngoại lệ cho người dùng cuối của bạn sẽ làm cho chất lượng cảm nhận thậm chí còn cao hơn. –

+0

Vâng, một câu ngắt quãng một cách chính xác với liều tiếp sức speling corect lokk moore proesionall – Guffa

8

Thông báo ngoại lệ trong khung được chấm dứt chấm dứt; Tôi có xu hướng làm như vậy vì lý do đó.
Trong mọi trường hợp, hãy chọn kiểu và cố gắng gắn bó với ...

-1

Sử dụng phán đoán tốt nhất của bạn. Đôi khi tôi cũng sử dụng dấu chấm than. :-)

+0

Điều đó thực sự làm phiền tôi khi tôi thấy các nhà phát triển làm điều đó. Dấu chấm than chỉ nên được sử dụng để biểu thị cảm xúc, trừ khi bạn có một ứng dụng khá giggly, cutesy, thân thiện, tôi sẽ không sử dụng chúng. –

4

Thông báo ngoại lệ là một phần của giao diện nhà phát triển cho ứng dụng của bạn. Giao diện thường được thiết kế nhằm giúp người dùng thực hiện một số tác vụ cụ thể. Trong trường hợp ngoại lệ, giao diện được cung cấp phải được thiết kế để truyền đạt thông tin về lỗi đã xảy ra trong ứng dụng.

Khi bạn quyết định ném một ngoại lệ và viết một dòng như

throw new ArgumentException("The string must contain at least one character."); 

sau đó bạn đã thực hiện một số quyết định về giao diện bao gồm:

  • loại ngoại lệ
  • Thiếu các thông báo ngoại lệ được bản địa hóa (sử dụng chuỗi mã cứng thường ngụ ý điều này)
  • Ngoại lệ này không phải là kết quả của bất kỳ điều kiện nào khác (không có bên trong ngoại lệ)

Hãy nhớ rằng, giao diện nhà phát triển tồn tại để phục vụ nhà phát triển và giao diện người dùng để phục vụ người dùng, trước đây có yêu cầu rất khác so với thứ hai, vì vậy điều tốt cho người khác có thể không tốt cho người khác khoảng thời gian trong thông báo ngoại lệ không nên quan tâm đến giao diện người dùng vì nó không được hiển thị cho người dùng cuối.

Việc sử dụng dấu chấm không phải là quyết định quan trọng trong hầu hết các trường hợp, nhưng bạn nên cân nhắc xem sự hiện diện (hoặc thiếu) có mang lại lợi ích hay bất lợi cho giao diện hay không.

Tôi biết bài đăng này hơi dài dòng và có thể là một chút astronauty, nhưng tôi hy vọng nó hữu ích cho bạn.

22

Q. Bạn có kết thúc thông báo ngoại lệ của mình trong một khoảng thời gian không?

Từ Best Practices for Exceptions& # x2020; trên MSDN trong phần "Tạo và nâng cao ngoại lệ":

  • Sử dụng các thông báo lỗi đúng ngữ pháp, bao gồm cả kết thúc chấm câu. Mỗi câu trong chuỗi mô tả của một ngoại lệ sẽ kết thúc trong một khoảng thời gian. . Ví dụ, ". Bảng đăng nhập đã tràn” sẽ là một chuỗi mô tả thích hợp

Và liên quan đến khả năng phản hồi cho người dùng qua giao diện người dùng các ứng dụng, câu hỏi bao gồm:

... cũng có thể là một vấn đề trong chuỗi tài nguyên cục bộ.

Bài viết MSDN được tham chiếu ở trên cũng nêu rõ:

  • Bao gồm chuỗi mô tả được bản địa hóa trong mọi ngoại lệ. Thông báo lỗi mà người dùng thấy được bắt nguồn từ chuỗi mô tả của ngoại lệ được ném và không phải từ lớp ngoại lệ.

Ngoài ra, từ Exception.Message Property& # x2020; ở đầu phần "Nhận xét":

Thông báo lỗi nhắm mục tiêu nhà phát triển đang xử lý ngoại lệ. Văn bản của thuộc tính Thư phải mô tả hoàn toàn lỗi và, khi có thể, cũng nên giải thích cách sửa lỗi. Top-level xử lý ngoại lệ có thể hiển thị các thông điệp tới người dùng cuối cùng, vì vậy bạn nên đảm bảo rằng nó là đúng ngữ pháp và mỗi câu của thông điệp kết thúc bằng một dấu chấm. Không sử dụng dấu chấm hỏi hoặc dấu chấm than điểm. Nếu ứng dụng của bạn sử dụng các thông báo ngoại lệ được bản địa hoá, bạn phải đảm bảo rằng chúng được dịch chính xác.


& # x2020; .NET Framework 4.6 và 4.5

+2

Không thể tin rằng câu trả lời duy nhất mà tham khảo nguồn chính thức không có phiếu bầu! Điều này nên được upvoted như nó theo hướng dẫn stackoverflow của "tài liệu" các câu trả lời. –

+0

Cộng một tài liệu để liên kết tài liệu. – gaspard

Các vấn đề liên quan