zoukankan      html  css  js  c++  java
  • 代码格式之什么样的代码格式才是正确的

    应该说是最近,因为代码格式的问题被同事指出,虽然说我主观上不是很乐意接受,但是以后如果我要带徒弟的话,首先自己要做到不好的地方,有则改之,否则怎能服人。

    代码格式问题主要体现是代码空行太多,一个类的代码行一千多行,其中不必要的空行就多了三四百行。

    以我之前写的博客系统其中的代码例子来说(确实看起来不美观):

    public SelfUserEntity getUserInfo(String username) {
    
           QueryWrapper<Users> userWrapper = new QueryWrapper<Users>();
    
    
           //邮箱正则表达式
           String expr = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$";
    
           //是否为邮箱
           if (username.matches(expr)) {
               userWrapper.eq("user_email", username);
           } else {
               userWrapper.eq("user_login", username);
           }
    
    
           Users userInfo = usersDao.selectOne(userWrapper);
    
           if (userInfo == null) {
               throw new NullPointerException(
                       "用户不存在");
           }
    
    
           SelfUserEntity selfUserEntity = new SelfUserEntity();
    
           if (userInfo.getId() != null) {
    
               selfUserEntity.setUserId(userInfo.getId());
               selfUserEntity.setUsername(userInfo.getUserLogin());
               selfUserEntity.setPassword(userInfo.getUserPass());
               selfUserEntity.setStatus(userInfo.getUserStatus().toString());
           }
    
           return selfUserEntity;
       }

    换言之,我为什么喜欢代码空行这么多?
    原因是因为我不喜欢代码看起来太过拥挤、密密麻麻。

    参考Java开发手册-编程规约-代码格式第一条如下:
    【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:

    • 1) 左大括号前不换行。
    • 2) 左大括号后换行。
    • 3) 右大括号前换行。
    • 4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行

    修改后,代码格式如下:

    public SelfUserEntity getUserInfo(String username) {
           QueryWrapper<Users> userWrapper = new QueryWrapper<Users>();
           //邮箱正则表达式
           String expr = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$";
           //是否为邮箱
           if (username.matches(expr)) {
               userWrapper.eq("user_email", username);
           } else {
               userWrapper.eq("user_login", username);
           }
           Users userInfo = usersDao.selectOne(userWrapper);
           //条件判断(等于null)
           if (userInfo == null) {
               throw new NullPointerException(
                       "用户不存在");
           }
           //数据装载
           SelfUserEntity selfUserEntity = new SelfUserEntity();
           if (userInfo.getId() != null) {
               selfUserEntity.setUserId(userInfo.getId());
               selfUserEntity.setUsername(userInfo.getUserLogin());
               selfUserEntity.setPassword(userInfo.getUserPass());
               selfUserEntity.setStatus(userInfo.getUserStatus().toString());
           }
           return selfUserEntity;
       }
  • 相关阅读:
    Java编程的逻辑 (42)
    Java编程的逻辑 (41)
    Java编程的逻辑 (40)
    Java编程的逻辑 (39)
    Java编程的逻辑 (38)
    Java编程的逻辑 (37)
    Java编程的逻辑 (36)
    Java编程的逻辑 (35)
    Java编程的逻辑 (31)
    web前端学习(二)html学习笔记部分(6)--fileAPI
  • 原文地址:https://www.cnblogs.com/youcong/p/14619027.html
Copyright © 2011-2022 走看看