相关疑难解决方法(0)

异常处理架构

有没有人有异常处理的最佳实践?

在网上搜索时,我在代码级别找到了很多最佳实践(不要抓住一般异常,不要重新抛出新的异常等).我所寻找的是更高级别的最佳实践,例如:

  • 在应用程序中捕获ui级别的异常.
  • 记录尽可能详细的信息,显示友好的错误消息
  • 更像SOA的应用程序区分功能异常(您要求特定客户并希望找到一个,但找不到)和技术异常(数据库脱机)
  • 不要将异常用于功能异常
  • 区分致命和非致命异常
  • 区分使重试成为可能或使重试完全无用的异常
  • 提醒维护人员的模式

非常感谢任何想法和帮助,谢谢.

architecture exception

13
推荐指数
2
解决办法
4886
查看次数

局部变量初始化是否必须?

对于那些做过一些c/c ++维护或增强的人来说,未经初始化的本地人所造成的维护问题(尤其是指针)将是显而易见的,但我仍然看到它们并偶尔听到作为其理由的性能影响.

在c中很容易证明冗余初始化已经过优化:

$ less test.c
#include <stdio.h>
main()
{
#ifdef INIT_LOC
    int a = 33;
    int b;
    memset(&b,66,sizeof(b));
#else
    int a;
    int b;
#endif
    a = 0;
    b = 0;
    printf ("a = %i, b = %i\n", a, b);
}

$ gcc --version
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Run Code Online (Sandbox Code Playgroud)

[未优化:]

$ gcc test.c -S -o no_init.s; gcc test.c -S -D INIT_LOC=1 -o init.s; diff no_in
it.s init.s
22a23,28
>       movl    $33, -4(%ebp)
>       movl    $4, …
Run Code Online (Sandbox Code Playgroud)

c c++ optimization performance

11
推荐指数
4
解决办法
2547
查看次数

api文档和"价值限制":它们匹配吗?

您是否经常在API文档(例如"公共函数的javadoc"中)中看到"值限制"的描述以及经典文档?

注意:我不是在谈论代码中的注释

"价值限制",我的意思是:

  • 参数是否可以支持空值(或空字符串,或......)?
  • '返回值'可以为null或保证永远不为空(或者可以为"空",或者......)?

样品:

我经常看到的(无法访问源代码)是:

/**
 * Get all readers name for this current Report. <br />
 * <b>Warning</b>The Report must have been published first.
 * @param aReaderNameRegexp filter in order to return only reader matching the regexp
 * @return array of reader names
 */
 String[] getReaderNames(final String aReaderNameRegexp);
Run Code Online (Sandbox Code Playgroud)

希望看到的是:

/**
 * Get all readers name for this current Report. <br />
 * <b>Warning</b>The Report must have been published first.
 * @param aReaderNameRegexp filter …
Run Code Online (Sandbox Code Playgroud)

language-agnostic documentation comments design-by-contract

5
推荐指数
1
解决办法
1060
查看次数