自动化构建指自动创建软件组建的一组进程,包括将计算机源代码编译成二进制码、将二进制码包装成软件包并对其进行自动化测试。很早以前的自动化构建都是通过创建Make来完成的,后来发展为GNU Make。随着时间的推移,如今的软件开发主要使用更优秀的自动化构建工具来完成,例如Java世界中的三大构建工具Ant、Maven和Gradle,如今,Ant几乎要退出历史的舞台了。
Maven和Gradle之所以能够赢得众多程序员的青睐,主要是因为它们在依赖管理、冲突解决、项目构建、项目结构管理和插件机制等方面的出色表现。
所谓一图胜千言,无论是自己梳理思路,还是给别人讲解,图案都是很好的形式。而且,程序员还经常要做一些PPT等,有了这些画图工具,就能大显身手。
1)思维导图——XMind
人类大脑的最自然思考方式是放射性思考,也就是我们常说的发散性思维。我们通常在思考一个问题的时候,都是以一个思维点为起点,然后不断进行发散式展开的。如果我们将这个思考过程通过图形化的方式表达出来,就是一张思维导图。思维导图可以有效地把思维模式表现出来,有利于人脑的扩散思维的展开。如图所示是一张关于“提升工作效率的软件”的思维导图。
XMind是一款非常实用的商业思维导图软件,采用Java语言开发而成,具备跨平台运行的性质,且基于EclipseRCP体系结构,支持插件通过编写XML清单文件扩展系统定义好的扩展点,帮助用户在真正意义上提高生产效率,被著名的互联网媒体Lifehacker评选为“最佳头脑风暴和思维导图工具”及“最受欢迎的思维导图软件”。
XMind的程序主体由一组插件构成,包括一个核心主程序插件、一组Eclipse运行时插件、一个帮助文档插件和一组多语种资源文件插件,对Eclipse用户非常友好。
XMind不仅可以绘制思维导图,还可以绘制鱼骨图、二维图、树形图、逻辑图和组织结构图(Org、Tree、LogicChart、Fishbone),并且可以方便地在这些展示形式之间进行转换。用户可以导入MindManager、FreeMind数据文件,灵活定制节点外观、插入图标、丰富的样式和主题。其输出格式有HTML和图片。
2)UML画图工具
UML(Unified Model Language)即统一建模语言,又被称为标准建模语言,是用来对软件密集系统进行可视化建模的一种语言。开发人员在做详细设计时,免不了要和各种UML图打交道,例如用例图、类图、对象图、时序图、活动图和状态图等。
简单来说,开发人员在写代码之前就需要了解需求,在这之后要对软件系统进行建模,将抽象的语言描述转换成可视化的模型。而在建模过程中需要一种标准的语言,这种语言就是UML。
目前市面上有很多UML画图工具可供选择,它们均能满足基本的画图功能,下面简单列举几种。
- Rational Rose:是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具,主要用于可视化建模。
- Visual Paradigm for UML(VP-UML):是一种功能强大、跨平台、使用便捷、直观的UML建模和CASE工具,它可以被整合在其他CASE工具或者其他IDE工具中。Visual Paradigm for UML支持UML建模、数据库建模、对象关系映射、逆向工程和Java双向工程等,功能异常强大。
- StarUML(SU):是一款开源的UML开发工具,支持绘制用例图、类图、序列图、状态图等9种常用的UML图,具有发展快、灵活、可扩展性强等优点,唯一的不足之处是在反向工程时只能生成类图,不能生成类之间的关系。
Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber),允许人们使用易读易写的纯文本格式编写文档,然后将文本格式转换成有效的XHTML(或者HTML)文档。
作为程序员,我们除了要具备编程的硬技能,还要具备写作的软件,而首选的写作方式就是Markdown。目前,很多大型博客网站都开始支持使用Markdown写文章,这无疑是对程序员的一种示好行为,著名的代码托管网站GitHub也支持使用Markdown语法来编辑README文件等,如图所示。