一名全栈工程师的必备工具箱

全栈工程师,也叫全端工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人。全栈工程师熟悉多种开发语言,同时具备前端和后台开发能力,从需求分析,原型设计到产品开发,测试,部署,发布全流程都十分熟悉。

全栈工程师由于经常研究各种技术,他不会精确记得所有语言代码的语法和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/

总结

技术快速更新迭代,各种辅助工具也层出不穷,眼花缭乱。我们不需要面面俱到,在每个流程深入用好一个工具,就可以帮助我们提升我们的开发效率。希望越来越多的工程师加入全栈工程师的阵营,体会全栈工程师的乐趣。也希望大家可以多多沟通交流,寻找出更多的好工具。

时间: 2024-10-25 17:23:58

一名全栈工程师的必备工具箱的相关文章

你是否应该成为一名全栈工程师?

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/01/become-full-stack-developer Asaf Yigal是Logz.io的联合创始人与产品副总裁.在Logz.io之前,Asaf与他人联合创立了Currensee,这是一个社会化交易平台,后来在2013年被OANDA收购.在Currensee之前,Asaf在Akorri负责管理和开发一款端到端的性能监控平台,在Onaro开发过一款存储资源管理平台.后

一名全栈设计师的Mac工具箱(设计,开发,效率)

我喜欢把自己定义为一个会一些设计的全栈工程师.在一些大型企业项目中,我一般担任架构师的角色,而到了我自己负责的个人或开源项目中,我就成了一名全栈设计师.我喜欢用自学而来的那些设计技能进行网站或App设计,然后自己动手实现前端和后端.这能帮助我有效节省成本并减少因多人沟通带来的工作效率问题.但我也很清楚,我不可能像那些真正的设计师那样掌握很多设计技巧,并做出非常优秀的作品来.我所能做的是一方面通过自学提升自己对设计的认识,另一方面我一定会精心挑选设计工具,来尽可能地弥补我设计技能上的不足.(这两点

如何成为一名全栈工程师?

我是学计算机专业的, 在刚大学的时候,还不知道什么是全栈,反正什么都学.我大学关于编程学的课 程有c.汇编.linux.JavaSE.嵌入式等: 我一直对c++很憧憬,觉得学c++都大神,在大三的时候,要三选一:c++ .c#,.Java.不过我报课的时 候网速不行,没报上c++,报上了java.那时候c++很抢手, 不过上课一段时间后有人就后悔了,转了 Java或者C#.我当时也是了解Java入门简单, 以后工作也好找,就安安心心的学Java了.当时是2012年 ! 大学生活总是过得很快,很充

Web全栈工程师修养

全栈工程师现在是个很热的话题,如何定义全栈工程师?在著名的问答网站Quora上有人提出了这个问题,其中一个获得了高票的回答是: 全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工程师.根据项目的不同,客户需要的可能是移动栈.Web栈,或者原生应用栈 深以为然,所以,全栈工程师应该分为Web全栈和App全栈.恰巧最近看了本有关Web全栈工程师的书,记录下其中一些观点. 笔记 应该从能力和思维方式两方面来判定一个人是否是一个合格的全栈工程师. 对于一些经理来说,宁可雇佣多个可管

全栈工程师学习Linux技术的忠告

随着科技的普及,Linux作为最受欢迎的服务端操作系统,无人不知,无人不晓.当今,不论是服务器搭建,还是客户端开发,Linux系统的基础技能对全栈来说都是必备的,而了解如下几个问题可以更好的帮助你成为一名合格的全栈工程师. 1.Linux体系组织结构 学习一个系统需要了解其体系结构,这样才能更好的学习.Linux有kernel和user两种模式,内核.shell和文件系统统一形成基本的操作系统结构,Linux内核由如下几部分组成:内存管理.进程管理.设备驱动程序.文件系统和网络管理等 学习lin

《Web全栈工程师的自我修养》读书笔记(转载)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5243181.html [正文] 豆瓣链接:https://book.douban.com/subject/26598045/ [目录] 01 什么是全栈工程师 02 如何成为全栈工程师 03 从学生到工程师 04 野生程序员的故事 05 工程师事业指南 06 全栈工程师眼中的HTTP 07 高性能

全栈工程师?

作者:肖文峰链接:https://zhuanlan.zhihu.com/p/20091607来源:知乎 最近参加一个技术社区活动,在讨论到"CTO的技术深度和广度哪个更重要"的话题时,我想起社区里面常常提到的"全栈工程师"的事情,于是表达了一些观点.临场未必能够清晰表达,所以下笔,希望能够引起一些讨论,避免年轻工程师误入歧途. 长期以来,社区就有人在提"全栈工程师",还有一些公司直接挂出名为"全栈工程师"的招聘职位.那什么是全

全栈工程师

关键开发技能(硬实力) 一.Git/GitHub,必须掌握如何使用Git来掌握和分享你的代码.Git作为关键技能的第一条,是因为它不仅仅是一个代码管理工具,更是一种推荐的工作方式.它使你能在任何地方进行开发,高效地管理任何大小的项目,通过Git还能与其他团队成员进行分布式工作,大大提升工作效率. 二.至少一门编程语音,JAVA.PHP.C#.Python.Ruby.Perl等,因为大多数核心业务处理都需要这门语言来写.不但要掌握这门语言的语法,还需要非常熟透如何基于这门语言进行项目的架构.设计.

《web全栈工程师的自我修养》 读书笔记

作者:余果. 人民邮电出版社.2015年9月第1版. 值得轻快一读,另外此书里推荐的书籍很好.Full-Stack Engineer! 一.如何成为全栈工程师 1 定义:全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工程师.根据项目不同,可能分为移动栈.web栈,或原生应用程序栈. 2 研发流水线 产品经理 >交互设计>>视觉设计>>前端开发/后台开发>>测试>>发布 3 代表性的全栈框架 LAMP.MEAN 4 建议:先精后广