一名全栈工程师的必备工具箱
全栈工程师,也叫全端工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人。全栈工程师熟悉多种开发语言,同时具备前端和后台开发能力,从需求分析,原型设计到产品开发,测试,部署,发布全流程都十分熟悉。
全栈工程师由于经常研究各种技术,他不会精确记得所有语言代码的语法和API,他觉得没有Google和百度,几乎没法工作。他记的只是一个Key,一个如何找寻答案的索引,而不是全部,人脑不是电脑,他不可能记下所有的东西。
对全栈工程师而言,各种辅助工具是十分重要的。全栈工程师更多的工作不是造轮子,而是用各种轮子组合造产品。下边就我多年的经验,向大家推荐我百宝箱中的各类工具,希望对大家有帮助。这里边主要推荐以下工具:需求分析工具、原型设计工具、代码检查工具、自动化测试工具、部署工具,最后还会给大家介绍一款我最近在使用的端到端全流程的开发神器。
一、需求分析工具
XMind
XMind是一种实用的思维导图工具。 思维导图是一种将思维形象化的方法。它可用来作为管理项目、笔记或知识库,也可以用来头脑风暴,记录思路,整理软件产品功能和需求等等。
地址:http://www.xmindchina.net/
Visio
visio是一款便于开发和设计人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。帮助我们创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。
地址:https:// products.office.com/zh-cn/Visio/flowchart-software
StarUML
StarUML是一套盛开源码的软件,不但免费自由下载,连代码都免费盛开。StarUML可描摹9款UML图:用例图、类图、序列图、事态图、行动图、通信图、模块图、安排图以及复合构造图等。
地址:https://staruml.en.softonic.com/
二、原型设计工具:
Axure
Axure能帮助需求设计者,迅捷而轻便的创立基于目录组织的原型文档、功能解释、交互界面以及带注释的wireframe网页,并可积极生成用于演示的网页文件和word文档,以供给演示与开发。
地址:https://www.axure.com.cn/
Omni Graffle
Omni Graffle软件由Omni Group公司出品,可以在OS X平台上轻松绘制漂亮的图表、树状结构图、流程图、页面等,可以用来规划电影或剧本的情节走向、绘制公司组织图、专案进度等等。该软件界面非常漂亮,模板丰富精致,容易激发灵感,辅助对齐和尺寸调整功能强大。目前还推出了iPad版本的应用。
地址:https://www.omnigroup.com/
三、代码检查工具
CodeReviewer
CodeReviewer是一款免费的、简单的又易于部署和使用的代码审查工具,由SmartBear开发——也是Collaborator的发明者,业界第一家推出商用代码审查工具的公司。
地址:https:// codereviewer.org/
SmartBear
SmartBear是一个有助于团队通过共同的开发、测试和管理工作以便能生产出高质量代码的代码审查工具。
地址:https://smartbear.com/
Crucible
Crucible是另一款超级受开发人员欢迎的代码审查工具,可以审查代码、讨论修改,通过Crucible灵敏的审阅流程来确定缺陷。
地址:http://www.atlassian.com/software/crucible/overview
四、自动化测试工具
QTP
QTP是一种自动测试工具,主要是用于回归测试和测试同一软件的新版本。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。
地址:http://quick-test-professional.weebly.com/
Selenium
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite、Google Chrome等。这个工具的主要功能包括:测试与浏览器的兼容性,测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。
地址:http://www.seleniumhq.org/
五、部署工具
Ansible
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
地址:http://docs.ansible.com/
Salt
Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。saltstack的两大功能:远程执行和配置管理。
地址:https://docs.saltstack.com/en/latest/
Puppet
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。
地址:http://puppetlabs.com/
神器推荐:DevCloud
之所以说DevCloud(华为软件开发云)是全栈工程师的开发神器,是因为它可以提供软件开发全流程的工具,随时随地在云端进行项目管理、配置管理、代码检查、编译、构建、测试、部署、发布等。这些功能让我能够把精力集中于产品的设计和研发,而不需要自己维护各类工具。而且华为在这个产品上开放了多年的研发经验,让我的开发过程更标准化,从而进一步提升开发效率和产品质量。
目前华为软件开发云对于5人+500M以内是免费的。
地址:https://www.hwclouds.com/devcloud/
总结
技术快速更新迭代,各种辅助工具也层出不穷,眼花缭乱。我们不需要面面俱到,在每个流程深入用好一个工具,就可以帮助我们提升我们的开发效率。希望越来越多的工程师加入全栈工程师的阵营,体会全栈工程师的乐趣。也希望大家可以多多沟通交流,寻找出更多的好工具。