我选择的是Siddhi的源代码,该项目使用的编程语言是Java.其目录结构如图1所示。目录结构清晰明了,各个模块负责什么功能,仅从名称就能够大体猜出。该项目中,根据模块划分了若干个不一样过的目录。命名规则为,项目名siddhi为前缀,以‘-’隔开,加上各模块实现的功能。好比,siddhi-core中,存放的是Siddhi的核心模块,主要功能在这里实现。siddhi-samples存放的就是官方提供的一些示例,能够供开发者进行测试使用。程序员
图1编程
如图2所示,是siddhi-core模块中包名的格式。将各个相关的类放入一个包进行管理。从图2能够看出,siddhi-core中的主要模块有,聚合模块、查询模块、存储模块等等。负责管理全局的类就直接放在siddhi-core这个包下,好比SiddhiManager、SiddhiRuntimeImpl.从类名就能够看出SiddhiRuntimeImpl类是SiddhiRuntime接口的实现。设计模式
图2多线程
图3到图5展现的是项目中类名的命名风格。类名使用 UpperCamelCase 风格,听从驼峰形式。异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 TestCase结尾。这样作的好处显而易见,开发者仅从类名就能很清楚地知道该类是属于测试仍是异常。架构
图3编程语言
图4函数
图5单元测试
图六、图7是变量名和方法名的命名风格。方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,听从驼峰形式。为了达到代码自解释的目标,任何自定义编程元素在命名时,都使用尽可能完整的单词组合来表达其意。测试
图6优化
图7
现代软件架构都须要协同开发完成,高效协做即下降协同成本,提高沟通效率,所谓无规矩不成方圆,无规范不能协做。因此项目中的成员应该选择一套统一的代码规范。
常见的有
对于Java这门编程语言来讲,阿里巴巴公司为了规范Java的代码风格,推出了《阿里巴巴Java开发手册》。Java程序员能够根据该手册上的说明进行编码。不只如此阿里还在IDEA上开发了一款名为阿里编码规范的插件,只要下载并安装此插件,能够自动对代码进行编码规范检测,能够说是十分方便了。
图8 不符合编码规范会有提示