zoukankan      html  css  js  c++  java
  • 项目学习经验

    近来做了两个JAVA EE小项目,四处碰壁总结下来的几点经验,分享一下。

      (学生一枚,知识有限,如有错误,欢迎指正,如果各位大神有更好的经验,恳求指点一下)

    1.不可省略必要注释,为自己和他人负责任

      在团队合作中,问题出现的可能比较多,在团队项目开发中(也包括个人),注释是一定要写的、一定要写的、一定要写的(重要事情说三遍),注释起码包括以下三中注释:

      方法说明、@auther、@param。如下举例:

     1   /**
     2      * 这是一个做加法的方法,传进两个参数,返回两数之和
     3      * @param a        加数
     4      * @param b        被加数
     5      * @return        两数之和
     6      * @author   Wreckbear
     7      */
     8     public int add(int a,int b){
     9         return a+b;
    10     }

    2.要保持一颗对外界参数的不信任的心

      JAVA EE 的世界里,大名鼎鼎的MVC为程序员的开发带来了无数好处,层与层之间的接口就成了容易出现问题的地方。

     举个例子:
       刚开始做项目的时候像个野人,什么都不懂,只知道我写这个方法的时候我自己知道传进来的肯定不会为NULL,就直接调用对象的方法或者属性,这就给NullPointerException留下了机 会,趁着你的大意,会在一个风雨交加的晴天要了你的小命。

      所以,作为某个方法的开发者,非常有必要对传进来的参数保持不信任,对它们进行合理的校验,如果不正常,需采取相应手段避开要发生的错误。

    3.善于利用异常,让项目更强壮

      刚开始学java的时候,异常接触的并不多,只是一带而过,最近做了项目才发现,异常时程序健壮性的一个有力的武器,不难发现,JDK优秀源码中大量存在着异常的身影。

     再举个例子,一个做除法的方法。
     public float div(float a,float b){
        float result = a/b;
        return result;
     }
     如果这写到项目中去,将可能会是一段令人难忘的回忆!
     如果我调用方法div(10,0),将会发生的事情你是知道的,现在可以吃一堑长一智了,会这么干。
     public float div(float a,float b){
        float result = 0;
        if(b!=0) result= a/b;
        return result;
     }
     这么干比上次聪明多了,起码不会有不想看到的事情发生了,但是还是有问题,我作为调用者传了a=10,b=0,我以为我传了两个合法的参数,而且也相信你的方法返回了正确结  果,这时候我的 错误会不会一错再错,这就因为你的方法并没有告诉我:“你的参数出错啦!”,怎么才能告诉我呢?--异常!
     public float div(float a,float b) throws MyException{
        if(b==0)
            throw new MyException("除数为0,无法计算");
        float result= a/b;
        return result;
     }  
     这样!就好多了

     4.善于利用Tasks(Eclipse)工具

      Eclipse作为开源的IDE,广受好评,做为使用者,尤其是菜鸟使用者,多多发现里面的各种工具是极好的,比如这个tasks工具。

      开发中经常碰到这种情况,这个地方现在做不下去了,我得先记下来,以防以后忘记,这个时候就收起你的notepad,用eclipse的tasks。使用方法如下:

      在想要提醒的地方打上一个 -- "  // TODO 这儿明天做 ",然后打开tasks(Markers)面板,就可以看到你做的标记了。如下图:

      

      

      More...

        暂时先就这么多,以后还会再补充...

  • 相关阅读:
    how to use http.Agent in node.js
    How Node.js Multiprocess Load Balancing Works
    Child Process
    What does cmd /C mean? [closed] 关于nodejs的子进程部分
    Net
    二进制与十六进制的关系
    POJ 1201 Intervals (差分约束系统)
    POJ 1201 Intervals (差分约束系统)
    差分约束系统
    差分约束系统
  • 原文地址:https://www.cnblogs.com/WreckBear/p/5093864.html
Copyright © 2011-2022 走看看