编程经验小结

1. 关于变量的命名
写代码时候 经常使用简写做变量的命名
1.希望大家尽量用全称,这样避免一些不必要的误会。
2.假如名字实在太长的话,那么选择声母作为简写,例如:
  message -> /ˈmesidʒ/ -> msg
  agreement -> /əˈɡri:mənt/ -> agmt
  turnover -> /ˈtə:nˌəuvə/ -> tnv

2.关于java method

当我们在增加一个method时候, return type 为 void 或者 object?
按照 command/query 设计思想。
假如method 要查询请使用return object(query),
当改变实体状态那么使用void(command)或者是return 简单的 object 像 boolean/string/number(updated or not or some warning msg) 都可以。
只是良好的习惯是尽量分开查询和命令两个功能到不同方法里面。

例如:
incorrect:
/*********************/

processLogic(orderId){
  DynamicEntity order;
  ...//find order
  order.put("status","updated");
  order.put("updateDate",new Date());
  order.put("updateUser","system");
}
 
/*********************/ 
 
correct:
/*********************/

processLogic(orderId){
DynamicEntity order = getOrder(orderId);
updateOrder(order);
}

DynamicEntity getOrder(String orderId){
  DynamicEntity order;
  ...//find order
  return order;
}

void updateOrder(DynamicEntity order){
  order.put("status","updated");
  order.put("updateDate",new Date());
  order.put("updateUser","system");
}

/*********************/

3. 关于sql

写 store procedure 时候 请注意下参数的命名方式
1. in 类型的 参数 ,请使用 i_xxxx
2. out 类型的 参数,请使用 o_xxxx
3.变量 类型的 变量,请使用 v_xxxxx
4. store procedure 应该以 sp_ 开头,function 以 fn_ 开头,view 以 view_ 开头;
5. pl sql 应该以 "/" 结尾,否则在 gen delta 时候不能成功运行

假如变量和select 的 column同名, 会出现一些问题 例如
select id
into ID from mer_style ;
ID 是 变量 应该写成 v_id

正确的 store procedure:

create or replace
procedure sp_example (
   i_param IN VARCHAR2,
   o_result   OUT varchar2)
is
v_variable VARCHAR2(4000);
begin
select id into  v_variable from mer_style;
o_result :=  v_variable;
end sp_example;
/

4.关于代码的部署和发布

deploy 到 production 一般流程:
1. 检查这次deploy 的全部 issue 是否都在这次code 里面
1.1 例如 code branch 是否正确,
1.2 要deploy到那些地方: web application/backend task/data patching.. 需要使用哪些files
  1.3   特别是这一次的update 需不需要update user config
 
2. 检查无误,按照project 去 package build 和准备files, 此处省略2百字...

3. 填写 document,按照前面deployment document 填写今次deploy 的内容

4. 在cvs 上面 打 tab, 请遵循命名原则: PRODyyyyMMdd
5. 把build files 和 document 上传到 triangle, 请遵循folder structure:
\\Triangle\share\cbxDeployment\[project name]\[deploy to]\[date]
6. update amg task in jira

5.关于java class 良好的规范

写程序时候 对一个类里面定义方法的顺序希望有个标准:
1.  声明成员属性
2. 主体方法,一般按照调用顺序写
3. 属性的 getter setter

例如:
public class Test{
  //声明成员属性
  private String id;

  //主体方法
  public void test(){
  }

  // getter and setter
  public void setId(String id){
   this.id = id;
  }

  public String getId(){
    return id;
  }
}

你可能感兴趣的:(编程)