对工程开发的一些心得
来源:互联网 发布:欧陆风云4 dlc mac 编辑:程序博客网 时间:2024/05/15 19:28
工作也有一年多了。
还是从一件事情说起。
第一次设计权限管理用的shiro,感觉人家就是提供几个入口,自己得写很多代码才能使其投入使用,包括但不限于:
- 与spring集成
- 登陆具体逻辑
- 密码校验规则(salt+2次md5)
- 获取用户权限
- 权限校验逻辑
开发完觉得好麻烦,自己写的话也是要写这么多东西,还少了与spring集成的过程,所以另一个系统的权限模块就自己来了,没有用任何框架,然后发现了几个问题:
- 1、 没有抽象出接口,耦合度太高,无法个性化开发
- 这一套只能这一个系统使用,别的系统要用就无法走自己的登陆逻辑,自己管理自己的session,无法管理自己的权限。
- 2、 代码逻辑混乱
- 用shiro,他给你划分好了区域,这里干什么那里干什么,自己写的时候就发现不够清晰,debug的时候调试都找不到代码位置。
痛定思痛,决定好好学习写代码。
看了一些书有点感触,总结了以下几点对自己的要求
- 功能划分
- 接到需求要完全想清楚该怎么做,才能开始写代码,功能划分清楚了也有利于分工合作。
- 接口职责单一
- 职责单一这个事情挺重要的,一山不容二虎,一个类不能干两件事,往上提一层,一个模块也不能干两个业务。这样的话,出了问题也知道是哪里出了问题
- 方法长度越短越好
- 简单来说其实也是职责单一,一个方法不干两件事。一个方法负责从数据库查数据,第二个方法负责校验数据有效性,第三个方法执行具体方法逻辑,第四个方法负责封装返回数据。这四个方法写在一个大方法中,大方法就4行,方法名规范,这个方法干了些啥一目了然,还能提高代码复用性。
- 慎重命名
- 当你看各种开源框架代码的时候,都会发现一件事,就是看方法名就知道这个方法是干啥用的。这样才能有效减少维护成本。
这时候才了解到那些设计模式的意义,其实大家都是为了让代码高内聚,低耦合,所以总结出这么多设计模式。
阅读全文
0 0
- 对工程开发的一些心得
- 对前端的一些心得
- 关于逆向工程的一些心得
- 关于移动平台工程的一些心得
- 游戏开发的一些心得
- gb28181开发的一些心得
- 对技术面试的一些心得
- 个人对一些社交平台的心得
- Tomcat部署Java Web工程的一些心得总结
- 使用D2010开发DATASNAP的一些心得。
- UDP开发相关的一些心得
- Android手机开发的一些心得
- ios开发中归档的一些心得
- Android 混合开发 的一些心得。
- 关于C#WinForm开发的一些心得
- 一些多媒体开发心得
- 一些JS开发心得
- 一些开发心得
- 数字三角形III
- 汪国新委员、郑桂兰董事长出席“同根同梦·2017全球华人春晚发布会”
- java spi示例
- Coursera机器学习 Week10 笔记
- Python3小试牛刀
- 对工程开发的一些心得
- 彩票问题总结
- 怎样写一个js插件
- JAVA实现LDAP连接验证
- jQuery选择器
- Quoit Design [散点中距离最近的两点距离][分治]
- lnmp安装mysql扩展库
- JVM内存模型
- Java8新特性之lambda表达式