提出问题

开发工作中如何注重实效???

解决问题

以下来自程序员修炼之道中自己的总结和心得:

没有什么比常识和坦率更让人感到惊讶!<br />你不可能写出完美的软件,注重实效的程序员连自己都不相信,知道没有人可以编写出完美的代码

过度追求完美也是一种障碍

按合约设计,合约既规定你的权利与责任,也规定对方的权利与责任。此外还有关于一些任何一方没有遵守合约的后果的约定。

死程序不说谎

写程序时,我们很容易掉进,不可能发生这样一种心理状态。

早奔溃。

要崩溃,不要破坏。

有很多时候让你的程序崩溃,是你的最佳选择。

java语言和库已经采用了这一哲学。当意料之外的某件事情在runtime系统中发生时。它会抛出RuntimeException异常。如果没有被捕捉这个异常,就会渗透到程序的底部,致使其终止。

断言式编程

让断言开着:在你把程序交付使用时关闭断言,就像是因为你曾经成功过,就不用保护网去走钢丝。那样做有很大的价值却,难以获得人身保险。时刻把断言开着。

即使你确实有性能问题,也只关闭那些真的有很大影响的断言。

如果它不可能发生,用断言确保它不会发生

不要用断言代替真正的错误处理,断言是断言,错误处理是错误处理。

何时使用异常

关于异常的问题之一是,知道何时使用它们。

我们相信异常很少作为程序的正常流程的一部分使用。异常应保留给意外事件。

将异常用于异常的问题。

错误处理器是另一种,选择。说白了就是异常集中处理器。

怎样配平资源

只要在编程,我们都要管理资源。内存,事务,线程,文件,定时器。所有数量有限的事物。

要有始有终。

比如流的打开和关闭,文件的打开和关闭,都要在同一个地方(即同一个方法中,不要流的打开在A方法中,流的关闭却在B方法中)。

不管我们在使用的是何种资源?事务,内存,文件,线程,窗口。基本的模式都适用。无论是谁分配的资源,它都应该解除该资源的分配。

对于流的关闭,记住一个原则:先开后关,后开先关。

实例:

  1. @Test
  2. public void testStream() throws Exception{
  3. InputStream is = new FileInputStream("");
  4. OutputStream os = new FileOutputStream("");
  5. /** os后开先关 **/
  6. os.close();
  7. /** is先开后关**/
  8. is.close();
  9. }