哈尔滨专业建设网站设计,软件外包公司百科,新媒体,广东哪家网站建设网页设计服务起因#xff1a; 今天开了一个小会#xff0c;会上朋友给我们说了一个事#xff0c;Java项目上他开发一个小功能 用了很多代码#xff0c;项目经理发现代码太多#xff0c;说要优化一下#xff0c;然后亲自帮同事优化#xff0c;结果是查库的代码少了至少10条sql#x…起因 今天开了一个小会会上朋友给我们说了一个事Java项目上他开发一个小功能 用了很多代码项目经理发现代码太多说要优化一下然后亲自帮同事优化结果是查库的代码少了至少10条sql同时代码复杂度降低了很多代码去掉了有一半我去翻了这些代码后对这个事情做了一个总结。
问题 项目经理在方法间传递用的是对象同事用的是字符串。项目经理玩的是从1到N同时玩的是从0到N所以同事要反复查询数据库去构建那个1 代码就变多了本质原因是对前端不信任、不放心造成的。
解决方式 如果对前端信任或则让前端知道不配合那么功能就不能正常运行这样就应该要求前端转发更多的带ID的对象来实现接口数据传输帮后端同事把拿到数据后再查数据库的那一步省掉了所以省了很多查询库的操作和代码逻辑。(前端只负责转发这样锅就由后端来背了前端也轻松)。【当然这也为逆向工程留下了漏洞】 同时后端的方法尽量用传对象的方式去解决问题让车跑在轮子上前后端的数据形成一个闭环编程的数据流就产生了非常丝滑 关键是开发时间还变少了很多且开发代码也变少了以后定位bug也会非常容易。维护起来也简单了。 这就是Java跟Php的区别(Php其实也可以这样玩)传说中的java面向对象编程。程序员思考问题的起点是基于表的对象维度而不仅仅是产品的要求这是编程效率的提升点。 这就把代码的设计思路维建立在项目设计的维度上了让起初的项目总体设计来承载目前需求的代码设计的风险这样也就可以拿着数据库表的设计维度和代码风险去跟产品掰扯了。
总结也就是以面对象的方式去编程(这个对象包括基础表对象业务数据传递的vo、dto等)要以他们为轮子去走流程这些对象背后所代表的维度就是代码编程的轨道一旦脱离了轨道代码就会显得非常的混乱和不好管理内行人说“你的代码是逗的不是这么写的”说的就是这个道理。一旦开始逗代码了项目就开始烂了。