来自Google, Pinterest 等公司顶级程序员的10条最佳实践

请输入图片描述

一、慎重选择第1门语言

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

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

若是你想快速创建原型(尤为对于但愿对产品进行迭代升级的创始人来讲),那就用 Ruby 或者 Javascript程序员

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

二、你不是程序猿!

伟大的开发者可以建构并开发应用。惊艳的开发者可以在关注业务的同时作这件事。业务端的人大都不懂编码,可是确定可以理解特定功能背后的动机。数据库

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

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

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

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

要想定期完成,得在开始技术工做以前事先进行项目沟通(哪怕这并不是先决条件),由于其余人的响应速度变幻无穷。app

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

三、保持敏捷,不断交付

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

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

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

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

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

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

为全部代码编写自动测试!尽量践行测试驱动的开发。

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

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

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

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

– Sanjib Sahoo,tradeMONSTER CTO

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

– Seth Purcell,Signpost 工程副总裁

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

要对时间和成本有一个合理的评估,而后把它加倍。若是你们都说“这应该很简单,”那就作

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

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

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

不少人都是这么消磨本身的闲暇时间的,但这样很容易就把你给耽搁了。别这样,经过尽量用脑来强化大脑负责开发软件的那部分。

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

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

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

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

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

– Sanjib Sahoo

八、像躲瘟疫同样避免过早优化

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

–Seth Purcell

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

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

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

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

– Tracy Chou,Pinterest 软件工程师

听起来很奇怪,可是你永远都得替本身的将来着想。问问本身:若是你有健忘症的话,你还能不能理解本身写过的代码?

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

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

– Kitt Vanderwater,Google 软件工程师

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

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

– Greg Sadetsky

via @36kr

相关文章
相关标签/搜索