今天主要是把第二阶段需求通过评审,感觉目前项目的状况跟中国的发展情况类似,虽然问题多、矛盾重重,但仍必须要快速前进,只能用发展来解决问题,尽可能做少的内耗和争辩,做出点真正有价值有用的事。刚没事看了几篇园子里的文章,写点自己的看法。

看了《系统架构:Web应用架构的新趋势---前端和后端分离的一点想法》 这篇文章,想到了目前在开发系统的前后端分离的做法:前端主要是于JSP+Action+对服务层接口的调用,后端主要是service+dao+数据库操作;其实不管服务端还是前端宏观流程无非是输入数据à数据处理à输出数据,但是服务端要把心思花在数据处理上,前端要更多关心的是输入输出数据时候的用户体验操作,服务端开发最大的问题就是违背MVC原则,代码编写的随意性,而前端不管出于安全还是性能考虑,最好是尽量少牵涉业务。前端和后端通讯层的独立,会将前后端进行真正的解耦,前面我讲到前后真正问题就是前端和后端技术路线不一致,但是传统Web开发里前后端又要融为一体,这就导致前后端很难做到专业化分工,对于前端应该尽量弱化通讯级别的开发工作,前端通讯编程只要知道调用哪个接口,传什么参数,怎么处理响应信息就行了。这样就能让前端和后端实现真正的专业化。

另外看到,以后开发中药在以下几方面要再加强:

  1. 用好IDE,现在主要是Eclipse,里面一些快捷键、常用插件、设置等要继续熟悉加强,目的是能很快的解决问题。

  2. 将代码托管到github的私有代码库中,使用git作为源代码管理工具。以后要多利用git,用git看源码学习。

  3. 给系统中的重要功能打好LOG。规范化自己代码和程序中的日志记录。

  4. 使用事务机制处理复杂逻辑。学着采用成熟的分布式事务机制来处理并发逻辑,使程序更加健壮。

  5. 使用TDD,提高单元测试覆盖率。测试驱动开发能够保证代码简洁、正确,并且能快速得到反馈,保证测试覆盖率。遇到遗留代码时,也可以先添加单元测试,建立保护网,使重构更有信心。