顶级程序员的10条最佳实践

标签: 程序员 最佳实践 | 发表时间:2013-11-09 23:06 | 作者:[email protected](boxi)
出处:http://www.36kr.com/


1、慎重选择第1门语言

编程语言各有不同,不过区别不大。但用语言的人区别就大了。选择了一门语言你就选择了一个群落。

– Sam Kaufman,自由职业者,iOS开发者,10x management

如果你想快速建立原型(尤其对于希望对产品进行迭代升级的创始人来说),那就用Ruby或者Javascript

– Erin Parker,Spitfire Athlete创始人兼首席开发者

2、你不是程序猿!

伟大的开发者能够建构并开发应用。惊艳的开发者能够在关注业务的同时做这件事。业务端的人大都不懂编码,但是肯定能够理解特定功能背后的动机。

别人说什么开发者就做什么,没有去理解为什么要这么做,导致双方均错失了机会,这样的事情太常见了。

– John Coggeshall,自由职业者,web开发者,10x Management,PHP核心贡献者

精通编程是一个崇高的职业目标。一旦实现了这个目标,别忘了考虑一下你自己。不要成为任何公司的奴隶或者在毫无价值的东西上浪费你的时间。

— Greg Sadetsky, Python及Javascript专家,10x Managemen;协同办公空间Abri.co创始人

要想按期完成,得在开始技术工作之前事先进行项目沟通(哪怕这并非先决条件),因为其他人的响应速度千变万化。

– Andrew Wilcox ,web应用开发者,Meteor核心贡献者,10x Management

3、保持敏捷,不断交付

早发布,不断发布,边说唱边发布。

– Max Nanis ,自由职业者,web开发者,生物信息学专家,10x Management

不断测试。好的测试包如保单和煤矿里的金丝雀之结合。它能帮助你在生产周期中更早地找出错误,而错误越早发现越容易解决。

– Jeremy Green,自由职业者,web开发者,专长Ruby on Rails,10x Management

快速失败。编码(及生活)时我希望尽早知道什么地方不能工作,而不是放任不管让它增殖扩散。全面放开,快速失败,修补缺陷,不断继续。

– Stephanie Volftsun,Knotch联合创始人兼CTO

为所有代码编写自动测试!尽可能践行测试驱动的开发。

– Zoran Kacic-Alesic,Industrial Light & Magic研发主管

4、保持对测试流程的控制

许多项目深受多测试周期之苦。这会拖累项目,导致组织整体出现高级别的问题。

程序员应该专注于对自己的代码进行单元测试及半回归测试。他们比其他任何人更了解代码库,也知道自己会影响到哪些变更。有时此类变更会由于QA测试范围有限而缺失,因此导致生产环节出现重大问题。

– Sanjib Sahoo,tradeMONSTER CTO

要想在力所能及的情况下尽快开发出无缺陷代码,永远永远也不要把写测试放到后面。我们更清楚这一点。要检查一下测试的覆盖率,确保100%无死角。

– Seth Purcell,Signpost工程副总裁

5、如果你是自由职业者,要学会说不,哪怕面对的是金钱

要对时间和成本有一个合理的评估,然后把它加倍。如果大家都说“这应该很简单,”那就做

– Ryan Waggoner ,自由职业者,web及移动应用开发者,10x Management

6、荣誉属于过去—理论是一回事,但实践更重要

改进软件开发质量的最好方式就是去开发软件。许多雄心勃勃的刚入门的工程师花了很多的业务时间去读书,关于最新工具的、关于开放流程的,诸如此类的东西。

很多人都是这么消磨自己的闲暇时间的,但这样很容易就把你给耽搁了。别这样,通过尽可能用脑来强化大脑负责开发软件的那部分。

–James Cropcho,General Assembly的Ruby on Rails专家及讲师

不断探索。我见过的许多编码者手上都有几个在进行的业务项目。做业务项目迫使你要探索新技术然后学习创建应用的方方面面。你可能需要做前端的HTML/CSS,后端的API集成,数据库优化,做移动app,还得设置自己的服务器。

– Andrew Waage,Retention Science CTO及联合创始人

7、结对评审是你的秘密武器

结对编程非常必要。两个程序员联合开发同一个模块可以相互审查对方的代码。开发团队每周也要召开代码审查会议,让每一个开发者给其他人的代码提供反馈意见,解释如何更好地改进代码。这能够形成一种协作文化,把开发者的自负抛开!

– Sanjib Sahoo

8、像躲瘟疫一样避免过早优化

只有在问题和解决方案都出现在你面前时才进行重构—过早重构是时间上的巨大浪费。不要投入半年后可能被扔掉的任何东西的完善上。过早优化是罪恶之源。

–Seth Purcell

不要过早优化!我不断看到工程师在用户还没有到1000的时候一再对扩充到100万的用户规模担心。

– Mariya Yao,Xanadu Mobile创始人兼创意总监,移动开发者及设计师

9、你的代码只写一次,可别人会读它千万遍

你写的代码机器会解析执行,可其他人却需要读你的代码,理解它,摆弄它。你必须明白,你的代码会有未来的观众。代码也是一种书写形式的沟通。

– Tracy Chou,Pinterest软件工程师

听起来很奇怪,但是你永远都得替自己的未来着想。问问自己:如果你有健忘症的话,你还能不能理解自己写过的代码?

– Wai Ching Jessica Lam,Sugarbox联合创始人兼CTO

通读你的文档。设计改动很多,有时候代码更新的时候注释不一定会跟进。保持文档的更新,未来的人(包括你自己)理解起来就更容易。我说不清有多少次我看回自己代码时总在想:“我到底在干什么?”只要我写出了好的注释,未来头疼就少很多。

– Kitt Vanderwater,Google软件工程师

10、这是一个崇高的职业。把你的技能用到好的地方。

帮助他人是深层次的人类需求。想办法用你的工作来改善人类,你就会有成功的把握。

– Greg Sadetsky

除非注明,本站文章均为原创或编译,转载请注明: 文章来自 36氪

36氪官方iOS应用正式上线,支持『一键下载36氪报道的移动App』和『离线阅读』 立即下载!

相关 [程序员 最佳实践] 推荐:

顶级程序员的10条最佳实践

- - 36氪 | 关注互联网创业
编程语言各有不同,不过区别不大. 选择了一门语言你就选择了一个群落. – Sam Kaufman,自由职业者,iOS开发者,10x management. 如果你想快速建立原型(尤其对于希望对产品进行迭代升级的创始人来说),那就用Ruby或者Javascript. – Erin Parker,Spitfire Athlete创始人兼首席开发者.

jQuery最佳实践

- andi - 阮一峰的网络日志
上周,我整理了《jQuery设计思想》. 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery". 今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osmani的PPT《提高jQuery性能的诀窍》(jQuery Proven Performance Tips And Tricks).

PHP最佳实践

- xiangqian - 阮一峰的网络日志
虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构. 它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践. 我觉得,这是很有参考价值的学习资料,类似的文章网上并不多,所以一边学习,一边就把它翻译了出来. 根据自己的理解,我总结了它的MVC模式的实现方式(详细解释见译文):.

MongoDB最佳实践

- - NoSQLFan
将 MongoDB加入到我们的服务支持列表中,是整个团队年初工作计划中的首要任务. 但我们感觉如果先添加一项对NoSQL存储的支持,而不是先升级已支持的关系型数据库,可能对用户不太好,毕竟目前的用户都使用关系型数据库. 所以我们决定将引入MongoDB这项工作放到升级MySQL和PostgreSQL之后来做.

Dockerfile 最佳实践

- - DockOne.io
在容器领域,Docker 公司提出的容器镜像已经成为目前容器打包交付的事实标准. 构建镜像需要编写 Dockerfile,如何编写一个优雅的 Dockerfile 呢. 在 Docker 公司的官方文档中给出了一篇:《 Best practices for writing Dockerfiles》.

文章: Grails最佳实践

- - InfoQ cn
我在IntelliGrape工作,这是一家专门使用Groovy & Grails进行开发的公司. 本文是我们Grails项目遵循的最佳实践的基本清单,收集自邮件列表、Stack Overflow、博文, 播客和 IntelliGrape的内部讨论. 它们分为控制器、服务、Domain、视图、TagLib、测试和其他.

PHP最佳实践(译)

- - CSDN博客Web前端推荐文章
原文:  PHP Best Practices-A short, practical guide for common and confusing PHP tasks. 译者: youngsterxyf. 本文档最后审阅于2013年3月8日. 由我, Alex Cabal,维护该文档. 我编写PHP程序已有很长一段时间了,当前我 经营着 Scribophile,由认真作家组成的一个在线写作团体,  Writerfolio,为自由职业者提供的一个易用写作工具集,以及  Standard Ebooks,一个图文并茂、无数字版权管理的公共领域电子书出版商.

Log4j最佳实践(原) - Mainz

- - 博客园_Mainz's Blog
本文是结合项目中使用 Log4j总结的最佳实践,非转载. 网上可以找到的是这一篇《 Log4j最佳实践》. 本来 Log4j使用是非常简单的,无需多介绍其用法,这只是在小型项目中;但在 大型的项目中使用 log4j不太一样. 大型项目非常依赖日志,因为解决线上问题必须依靠log,依靠大量的日志.

再谈RestAPI最佳实践

- - 企业架构 - ITeye博客
http://www.javacodegeeks.com/2014/05/rest-api-best-practices-reloaded.html ,仅供学习和参考,转载请注明出处. 近一年半,我参与了2到3个项目的工作,这些项目涉及到大量供“外部”使用的Rest API,稍后我们再来解释为什么要将“外部”这个词放在引号之中.

一些 REST 最佳实践

- - 鸟窝
原文: Some REST best practices, 作者: Pierre-Olivier Bourgeois. 译文: 一些REST最佳实践, 译者: yongx. 如今,REST APIs 已经非常普遍,几乎所有WEB应用都用到了它们. 提供简单,一致,实用的API是种义务,方便其它人很容易的使用.