• 怎样搭建轻量级架构-代码组织篇


    非常多程序猿看到标题,预计心里一愣:一个组织代码,有什么可讲的,无非是公司网址倒着写,外加命名规范,最多分模块管理而已!怎么这都能忽悠一篇文章来?


    代码组织确实是一件简单的事情。可是假设我说的“代码组织”不只限于这些内容呢...



    大家都知道Web项目的架构,文件非常琐碎。一个模块前台包括JS,CSS,HTML文件,后台还有模块的逻辑处理类,实体的数据库訪问类。以及实体本身。

    假设这个模块须要打印,还要有打印的模板文件!

    假设这个模块另一些关联数据,比方学员的学分数据等等。

    算下来。一个最简单的模块都要有10个左右的文件。



    因为Java Web的架构。非常多开发者都知道,js,css等文件是和Java代码分离的。

    文件的分离本身就添加了复杂性。假设文件数量上再有所添加,复杂度更是呈几何倍数增长。


    可能绝大多数开发者并没有质疑如此做的问题,觉得既然大家都如此做。这么做肯定没有问题。


    可是你可能没有注意到,这给你添加了多少麻烦。又浪费了多少时间。

    1. 你常常改动完后台代码,再去改动前台代码,却要点几下鼠标才干找到文件!

    2. 项目越来越大。文件也越来越多。常常找错文件?

    3. 常常发现出现了一些不知所谓的文件,不知道所属哪个模块。又所属哪个人....处女座看到都要哭了。

    4. 每一个月总有那么几天。处女座在流血!

    别想多,他仅仅是看不下去,要重构项目中全部的文件......


    这些情况想必非常多人遇到过,或者正在经历.....那么怎样才干避免这样的情况呢?


    模块全部文件一起放,千万别分开

    假设你的文件结构是这种,是不是攻克了非常多问题?模块中包括了模块的全部文件!


    这就是我们眼下的结构,在Java中,有非常多Lib支持从JAR中读取资源文件。有点经验的不难搞定。


    这样做之后,程序猿就全然专注于逻辑,而不用频繁的找文件

    并且,开发任务能够细粒度的按模块划分,而不是按前台后台划分


    自己主动生成模块框架

    假设你的结构定了,就能够使用Freemarker直接生成代码框架。


    非常多程序猿对这个不屑一顾。就几个文件。Copy来改改即可了。

    当你Copy一个。倒没什么,当你每天的工作都在Copy。还不想着改进,那你就太悲哀了!



    自己主动生成代码。不仅保持了系统的高度一致性,还为我们带来另外一个优点!

    非常多程序猿每天都在为文件名称纠结上几个小时,我就是如此!

    当你为他自己主动生成,不管多丑,他都不会纠结!

    有选择是一个非常可怕的事情。是吧?



    聊完了代码组织,来聊聊单元測试。

    单元測试就是对模块代码的測试,基于单元測试。眼神出了大名鼎鼎的TDD!

    TDD全称:測试驱动开发。

    说简单点,就是:做功能之前,先把单元測试写好。然后一步步补全功能,直到測试通过。


    TDD应该适合专业化的团队!

    不适合一般的屌丝团队.....屌丝团队玩玩单元測试就好了。


    你可能和我之前一样。看不起单元測试。都忙成狗了,哪有时间写单元測试??


    假设你的时间宝贵,那我更要给你推荐单元測试。当你在web中要測试一个功能,步骤大致分为例如以下:

    1. 编译代码

    2. 公布到server

    3.清空浏览器缓存

    4.登陆构造測试数据

    5.測试不通过。再来一次!

    反复2次,预计你就要日了狗了吧。



    而你仅仅要搭建好Mock測试。以上步骤够能够节省了。你要做的就是Debug代码。!



    本章就到此结束,当你完毕了项目管理,设计原则以及开发方法的轻量级。剩下的就是更新部署了。


    下一章我们就来解说更新部署的智能化,让你的平台完毕从头到尾的“轻量级”。


    敬请期待。


    假设您对我的文章感兴趣,请关注我的微信公众号,谢谢。






  • 相关阅读:
    Handle类与线程
    android中ProgressBar和ListView
    RadioGroup、RadioButton、CheckBox、Toast用法
    Android开发中的menu菜单
    多个Activity相互调用和Intent
    ubuntu下安装h2数据库
    window下eclipse安装python插件
    centos7安装JDK1.8
    ubuntu设置root权限默认密码
    Linux给用户添加sudo权限
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6907894.html
Copyright © 2020-2023  润新知