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

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

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

大家都知道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代码。!

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

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

敬请期待。

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

时间: 2024-10-17 23:38:14

怎样搭建轻量级架构-代码组织篇的相关文章

如何搭建轻量级架构-代码组织篇

很多程序员看到标题,估计心里一愣:一个组织代码,有什么可讲的,无非是公司网址倒着写,外加命名规范,最多分模块管理而已!怎么这都能忽悠一篇文章来? 代码组织确实是一件简单的事情,但是如果我说的"代码组织"不仅仅限于这些内容呢... 大家都知道Web项目的架构,文件很琐碎.一个模块前台包含JS,CSS,HTML文件,后台还有模块的逻辑处理类,实体的数据库访问类,以及实体本身. 如果这个模块需要打印,还要有打印的模板文件! 如果这个模块还有一些关联数据,比如学员的学分数据等等. 算下来,一个

如何搭建轻量级架构-更新部署篇

搞定了前期所有的问题,你的平台架构也在慢慢完善中...余下的就是更新部署方面的问题了. 大家都知道,平台运行需要一个运行环境.抛开操作系统以及服务器这方面的安装,平台本身运行就需要数据库,数据等需要初始化. 平台的打包我们之前有讲过Maven,使用Maven可以自动化构建你的项目,本篇不再多讲. 而关于数据库以及相关数据的配置,在部署时是一件很麻烦琐碎的工作. 需要创建每一个表的结构以及索引,如果更新时,还要通过软件比对数据库差异,生成更新SQL... 通常在部署时,都没有开发人员在场,一旦出了

如何搭建轻量级架构-辅助工具篇

我们要搭建轻量级的架构,首先要确保有一套轻量高效的"辅助工具",确保平台架构可以正常推进. 项目的"辅助工具"包括协作平台,管理工具. 首先来说说 项目协作工具 比较老旧的团队协作,都是枯燥的会议记录,列表式的Task,还有附件形式的项目文档... 很多公司总是想通过这些方式来把控项目,认为有"协作平台"就能为项目带来便利. 然而真实的结果呢?? 由于其枯燥性,"协作平台"仅仅变成了形式主义,最后反而成了项目的累赘. 那么,如

怎样搭建轻量级架构-辅助工具篇

我们要搭建轻量级的架构,首先要确保有一套轻量高效的"辅助工具",确保平台架构能够正常推进. 项目的"辅助工具"包含协作平台,管理工具. 首先来说说 项目协作工具 比較老旧的团队协作,都是枯燥的会议记录.列表式的Task,还有附件形式的项目文档... 非常多公司总是想通过这些方式来把控项目,觉得有"协作平台"就能为项目带来便利. 然而真实的结果呢?? 因为其枯燥性,"协作平台"只变成了形式主义,最后反而成了项目的累赘. 那么,怎

怎样搭建轻量级架构-敏捷开发普及篇

搭建轻量级的架构.没有轻量级的开发原则是不行的. 传统的软件project理论是统一软件过程.统一软件过程说的简单点就是沟通.建模,开发,维护. 大家注意,这是一个一次性的过程,也就是每一个阶段必需要力求具体,确认功能的务必完好.然后一次性搞定. 所以依照传统的project理论,开发反而是一个可控性最高的阶段,依据前期"超级完好"的模型,程序猿全然是流水线工人.俗称码农! 假设依照这样的project理论去开发软件,两方在前期要耗费巨大的精力去建模.并且也不能保证在真正开发时.不会超

如何搭建轻量级架构

一直专注于构建高效的开发平台,在这方面颇有一些心得.今天就和大家聊聊关于平台架构的一些话题. 何为平台?从狭隘的角度来看,有二个方面: 1. 提供可扩展的开发 2. 提供基础功能,例如:查询,导入导出,打印,BI,工作流,表单,数据权限等. 好的平台,不仅仅要满足这两个硬条件,更要在软实力上有亮点,如项目管理,实施方面都极具效率性,便捷性.我称这种特性为"轻量级". 相反,很多企业,在软件开发的过程中,都过于"重量级".如此久而久之,导致整个团队以及平台的"

如何基于阿里云搭建适合初创企业的轻量级架构?

摘要: 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重要.本文主要介绍基于阿里云搭建适合项目初期的后端架构 ----基于阿里云搭建的适合初创企业的轻量级架构 前言在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重要.本文主要介绍基于阿里云搭建适合项目初期的后端架构,至于细节操作不作描述,比如nginx配置优

搭建LMAP架构之 PHP 配置(最终篇)

搭建LMAP架构之 PHP 配置(最终篇) [TOC] 文章目录 一.PHP简介 二.安装前的准备工作 三.PHP的手工编译安装 四.论坛的安装过程 一.PHP简介 PHP,用于解释动态网页文件,提供 Web 应用程序的开发和运行环境. PHP 是一种被广泛应用的开放源代码的多用途脚本语言,可嵌入到 HTML 中,适用于 Web 应用开发 PHP拥有更好的网页执行速度.支持绝大多数流行的数据库及多种操作系统. 二.安装前的准备工作 本次安装PHP是为了搭建LAMP架构,实现自创网页论坛. 在安装

iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)

iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController) 这里我们就直接上实例: 一:新建一个项目singleView Controller,命名未iCocos 二:由于我们使用的纯代码实现的,所以删除其中的StoryBoard和Viewtroller的两个文件 三:新建一个继承自TabBar Controller的类,我们命名问iCocos ViewController 三:在Appdelegate的实现文件中导入刚刚