學習阿里巴巴編碼規範的貧窮日子

目錄

 

1 編程規約

1.1 命名風格

1.2 常量定義

1.3 代碼格式

1.4 OOP規約

1.5 集合處理

1.6 併發處理

1.7 控制語句

2 異常日誌

2.1 日誌規約

3 MySQL數據庫

3.1 建表規約

3.2 索引規約

3.3 SQL語句

3.4 ORM映射

4 工程結構

4.1 應用分層

5 附錄


1 編程規約

1.1 命名風格

 

public interface BmsMenuMapper {
    int countByExample(BmsMenuExample example);

    BmsMenu getByPrimaryKey(String menuId);

    List<BmsMenu> listBmsMenus(String roldId);
}

public enum StatusEnum {
    NONE(-1, "未知"), INACTIVE(0, "未激活"), ACTIVE(1, "已激活"), LOCK(2, "鎖定"), CLOSE(3, "銷戶"), DELETE(4, "刪除");

    private final Integer value;
    private final String info;

    private StatusEnum(Integer value, String info) {
        this.value = value;
        this.info = info;
    }

    public Integer getValue() {
        return value;
    }

    public String getStringValue() {
        return this.value + "";
    }

    public String getInfo() {
        return info;
    }

    public static StatusEnum getStatusEnum(Integer value) {
        if (value == null) {
            return StatusEnum.NONE;
        }
        for (StatusEnum statusEnum : StatusEnum.values()) {
            if (statusEnum.value.equals(value)) {
                return statusEnum;
            }
        }
        return StatusEnum.NONE;
    }
}

使用示例

kbStatus == StatusEnum.ACTIVE.getValue()

1.2 常量定義

1.3 代碼格式

IDEA使用--字體、編碼和基本設置

1.4 OOP規約

import com.alibaba.fastjson.JSONObject;

public class BmsMenu {
    private String menuId;

    private Byte isLeaf;

    private Integer menuDisplayOrder;

    @Override
    public String toString() {
        return JSONObject.toJSONString(this);
    }
}

1.5 集合處理

   /**
     * 獲取商戶每天的調用明細:反欺詐雲、資信雲
     */
    private void getAFAndWHCallDetails(Date beginDate, Date endDate, List<Date> dateRange){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Map<String, Object> head = new HashMap<>(16);
        ...
    }

1.6 併發處理

1.7 控制語句

2 異常日誌

2.1 日誌規約

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Controller
@RequestMapping("/partnertype")
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class PartnerTypeController {

    private static final Logger logger = LoggerFactory.getLogger(PartnerTypeController.class);
......
}

3 MySQL數據庫

3.1 建表規約

3.2 索引規約

3.3 SQL語句

3.4 ORM映射

4 工程結構

4.1 應用分層

5 附錄

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章