2014年 代码总结与疑问

   清楚的记得,2013年6月就开始出来实习,而后2014年3月来到深圳一家企业,6月大学毕业,10月转正直到如今。在工做中一直从事研发,包括 JavaScript、java、Android ,可是因为我的经验不足,老是在本身的代码中会出现些许bug,固然两年下来也积累了很多经验。下面就说说2014年我遇到的一些疑难,但愿热心人可以帮助解答,同时也但愿可以帮助别人。java

问题一:程序员

    关于if语句的使用,有嵌套if,有单分支if...
编程

    然而,在项目中看到许多if-else真的使人做呕,尤为是if嵌套,若是仅仅嵌套两层,代码结构还能够弄懂,若是是嵌套太深,代码确定晦涩难懂,后期维护成本必然上升。那么,项目中咱们应如何减小if的使用呢?或者说如何才可以让咱们的代码容易读懂,不受if的干扰。
json

if(){

}else if(){
    if(){
    
    }else{
    
    }
}else{

}


问题二:安全

    关于Exception的捕获与抛出
网络

    异常在代码中到处可见,那么对于异常咱们具体应该如何处理。问题是这样的,我在某个方法中出现了检查时异常,那么要么我就抛出,要么就捕获。若是是抛出的话,这个方法就成为了一个异常方法,是一个不安全的方法,任何调用这个方法的地方都要重复相同的异常捕获与抛出;若是是捕获的话,这个方法虽然成为了安全的方法,殊不知道如何通知调用方我在内部发生了异常。我看过有些代码是捕获后又抛出了自定义异常类的实例给调用方,不知道这样好很差,反正我是以为这个异常类的代码至少须要维护吧。项目中具体应该如何处理这些异常呢?this

public Striing process(){
    
    try{
    
        // some codes
    
    }catch(Exception e){
       
    }finally{
    
    }

}

问题三:spa

    参数的校验
code

    为保证程序的健壮性,参数的合法性校验那是必不可少的一个步骤。但是,在程序中参数的校验具体交给谁呢?好比一个操做是新增一条记录,Controller里面的方法会判断参数是否合法,不合法就直接返回,合法执行下一步Service,那么Service方法中还须要对这些参数判断吗?接着执行Dao,那么Dao还须要对参数校验吗?看似Controller已经校验过了,就很安全,因此后续不须要校验,但是你不敢保证你的Service暴露的方法没人调用,同理Dao也是,只要有人调用了你的方法就会出现参数不合法而出现的各类运行时异常。那么,咱们应该如何规范参数的合法性校验?
对象

Controller
public String updateMsg(HttpServletRequest request){
    String username = request.getParameter("username");
    if(StringUtils.isBlank(username)){
        return null;
    }
    service.updateMsg(username);
}

Service
public String updateMsg(String username){
   if(StringUitls.isBlank(username)){
       return null;
   }
   // some codes
   return "";
}

Dao 
public String updateMsg(String username){
   if(StringUitls.isBlank(username)){
       return null;
   }
   // some codes
   return "";
}

问题四:

    JSONObject的使用

    JSON是网络数据传输的一种数据格式,同时JSON官网还提供了java相关的jar,json-lib让咱们更容易的操做java与json,可是JSONObject有一个操做叫作toBean却差强人意,我相信不少人都碰见了这个问题,只是网上只有提问没有解答和我同样。但愿高手能够解答。

JSONObject.toBean(JSONObject.fromObject("{name:dd}",User.class));

问题五:

    JavaBean的使用

    对程序员来讲JavaBean并不陌生,Java中编写代码习惯使用JavaBean,以为这样更加贴切面向对象编程,实质上限定了对象的扩展,尤为是一些业务逻辑常常发生变化的状况,一开始的时候只须要这些属性,后期结果又添加了属性同时又删除了属性,那么JavaBean天然也须要及时更新,这时问题来了,JavaBean更新后,调用JavaBean的set、get方法也会随着更新,从而代码到处须要更新啊!!JavaBean真的有那么好用???

public UserBean{
    private String username;
    
    public void setUsername(String username){
        this.username = username;
    }
    
    public String getUsername(){
        return this.username;
    }
}

问题六:

    JavaScript中方法参数定义问题

    自定义方法不但须要方法名称得当,让人一眼便明白方法的做用,同时方法的参数也要合理定义。项目过程当中每每出现这样的状况,一个方法是改了又改。有的人以为方法须要再添加一个形参,有的人则不须要这么多形参。幸亏,JavaScript没有对实参的传递个数有严格要求,可是他对顺序是又要求的。个人问题是:把全部的形参当作一个对象config做为惟一形参会不会更好,这样另外有人想要添加形参,彻底不须要改接口,不知道这样好很差?

function fun(config){
    var username = config.username || '';
    var age = config.age || '';
}

function fun(username , age){

}


以上就是我在2014年当中遇到问题的一小部分(基础不扎实扰的祸),

固然对于高手来讲这些问题不值一提,

可是我要提出来,

就是但愿大家能热心的解决,

本人感激涕零!!!!

相关文章
相关标签/搜索