引子
网上有许多关于编码规范的好文章,作为一名初入行的小白没啥资格一一列举各层次的规范以及具体细节注意事项,所以通篇以感悟代笔,做一下笔记记录,欢迎指正。
java基础规范
参照阿里规范手册,大致有讲解基本的规约,诸如命名、常量定义、代码格式、设计思想、处理顺序等。规范约束了程序员的一些行为动作、加了一层枷锁,却带来了可观的收益。比如java经典的驼峰命名,方便其他人见名知义,可读性提高了,维护起来也方便。也可以举个设计思想的例子,设计模式主张ocp原则,一个功能接口类,对外扩展开放、对内修改封闭。作为功能的使用方,不必关心功能的实现逻辑、也不必担心功能的需求增长问题,能使用的是接口提供的功能方法。这就要求设计抽象的接口层,便于封装细节和拓展。按照这种规范原则去设计代码,能为将来省下不少麻烦。
安全
主要包括两个方向:客户端和服务器。
客户端:面对用户需求开发,用户的信息、使用操作的安全合法性的地位不必多说。个人信息操作的权限校验,这种类型的请求需要检验身份、操作合法性。敏感信息的脱敏处理,保护用户隐私。CSRF保护,防止恶意修改用户的访问行为等等。
服务端:保护客户端的同时也要兼顾服务端。服务器的资源是宝贵的,不正确或恶意的请求需要拦截。参数有效性检验,正常请求里涵盖了一些不当的参数,可能导致服务器的局部不可用。sql语句也要去检验、防止注入行为和其他不当行为。
框架应用规范
首当其冲的是项目的结构分层,大致有:web层、service层、数据持久层这几层。各层各司其职,相互合作。单一职责思想下去规范开发,方便调试,快速定位问题节点区。一些行为需要统一:前端的请求最好能遵循一致的风格,比如restful风格,这样后端识别请求类型也简单。同样地,后端返回的数据也能有一致性(当然根据业务有好几种数据类型),比如状态码的定义,200·299的状况、300·399的状况、400·499的状况,事先定义好。异常的统一处理,有时候出现问题在所难免,我们应该关心如何规范处理,什么样的代码块异常throw,什么样的需要捕获记录,交给谁来处理,异常日志该如何存储。
其他
规范细节像是一个枚举不尽的类,看不到尽头。上面的几个大类也是粗略的举例,主要是记录现阶段学习状况。