2010-10-01 73 views
1

我更喜欢使用“rc”错误代码返回错误管理风格。我同意这会带来更好的投掷挑战,但是,我仍然觉得我并不是以一种干净和可维护的风格进行设计和实施。所以,我正在寻找一本讨论这种模式的好书,而不仅仅是一本参考书。有人可以引用一个很好的例外编程参考吗?

引用的参考文献就太细...

从下面的答案的摘录,“敏捷编程的实践”,我发现特别引人注目:

**Keeping Your Balance** 

• Determining who is responsible for handling an exception is part of design. 
• Not all situations are exceptional. 
• Report an exception that has meaning in the context of this code. A NullPointerException is pretty but just as useless as the null object described earlier. 
• If the code writes a running debug log, issue a log message when an exception is caught or thrown; this will make tracking them down much easier. 
• Checked exceptions can be onerous to work with. No one wants to call a method that throws thirty-one different checked exceptions. That’s a design error: fix it, don’t patch over it. 
• Propagate what you can’t handle. 

回答

2

我还没有找到一本专门用于异常处理的书,但是有一些章节或章节的长度涉及这个主题。

作为引物和语言不可知的方法,参见[Martin,Ch。 7][McConnel,Ch。 8.4]也在非常一般的基础上处理异常处理。对于使用例外的更好建议,请参阅[Subramaniam,Hunt,Ch。 36,37]。我还发现[Richter,Ch。 20]虽然它特定于.NET和C#,但非常有用。尽管如此,有些章节也适用于其他语言。

建议:作为抛出异常和错误代码返回编程风格的替代方法,请对WWW中的“特殊情况模式”或“空对象模式”进行一些研究。

  • [Martin] Martin,C.R。(2008)。清洁 代码:敏捷软件手册 工艺。普伦蒂斯厅 国际。
  • [McConnel] McConnel, S.(2004)。代码完成。
  • [Subramaniam,Hunt] Subramaniam,V.,& Hunt,A.(2006)。 敏捷开发人员的实践。实用程序员。
  • [Richter] Richter,J.(2010)。 CLR通过C#。 微软出版社。
+0

我只检查了引用“敏捷开发人员的实践”,并带来了一些极好的指导方针以及与困扰着我的场景的讨论。因此,我认为这是我寻找的起点,并将其作为答案。随着时间的推移,我预计这将得到进一步完善和验证。 - 谢谢Theo。 – mobibob 2010-10-04 20:20:13

+0

你也应该看看[Martin]。它描述了返回代码样式的缺陷,并将其与异常处理进行对比。 [Martin]使用代码示例非常令人印象深刻地说明这一点。 [Subramaniam,Hunt]在实践层面比代码更多。 – 2010-10-04 21:28:55

0

我没有意识到任何专门处理异常抛出/使用的最佳实践的书。这可能是一个太具体的话题,需要整本书。另外,对于每种编程语言(C++与Java)以及语言中的编程上下文(C#winforms与C#asp.net),最佳实践可能会有很大差异。

我怀疑你最好的选择是谷歌它;您可能会发现一些解决该主题的博客帖子(希望最好的/最受尊敬的博客帖子将接近谷歌搜索结果的顶部)。

+0

感谢moikemanne--实际上,我在与怪物打交道的数周冲浪后发布了这个问题。我完全同意你对特定性的评估,这可能是我在社区搜索的原因。 – mobibob 2010-10-04 20:28:06

相关问题