29条新手开发时,必备经验

1. 积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的代码,然后合理地用在代码里,从而解决问题。

2. 拥抱变化,坚持不懈。老手程序员在接触新技术时,能欣然接受像个初学者一样处处受挫,并总能在完成工作的同时自学成才。

3. 承认细节的重要性。例如变量和函数的命名、CSS 属性的命名、该用哈希还是用数组,以及其他看起来微不足道,但可能对项目有深远影响的事情。

4. 承认大多数的 “重要决定” 其实并没有那么重要。一般的开发者经常在技术选型等 “重大问题” 上陷入唇枪舌战,而程序员老鸟们会避免浪费时间在骂战中。这一点上,他们就像禅宗大师一样(zen-like)。

5. 选择合适的工具解决问题。网上有无数的开源库、工具和框架,让人眼花缭乱。而老手们清楚地知道针对怎样的问题,应该用什么样的工具。

6. 明白代码「不值钱」(该删就删)。你必须习惯于删掉几百行代码来重写程序的某一部分,毫不留情。

7. 在评估技术的时候要全面。例如,我一直在鼓吹 Elixir。它语法优美,社区完善,有很大的潜力。但 Elixir 诞生的时间太短,所以如果要构建复杂的功能,可能会难以找到能帮你提高效率的开源工具。因此,在评估要不要选择使用一项技术时,你得把所有这些因素都考虑在内。

8. 学会说 “我不知道”。没有比拒绝承认自己不知道更浪费时间了。

9. 仔细分析错误信息里的线索。传统教育告诉我们:失败是坏事。报错信息这种东西也经常被跟失败联系起来,然而优秀程序员明白,这些错误消息里其实隐藏着能将你指向最终正确解决方案的线索。

10. 了解过早优化和必要的 “炫技式” 优化的区别。老手们清楚在什么时候需要写一些看上去没那么好懂,但会让程序运行更快的代码。

11. 每个人都会犯错,为自己的过失负责。而尤其在团队里,把责任推来推去没有任何意义,因为错误的发生往往不只是一方的因素造成的。

12. 成为你所用的开发工具的重度用户。如果长期在某个开发环境下有相当比例的开发工作,那你应该去掌握使用它的细节。

13. 学会用 Vim(至少会一点)。 你至少应该在这个编辑器里学会勉强地移动和翻页。

14. 不要接陌生技术领域的私活。个人做自由职业项目,其中很大一部分挑战就是评估项目时间。不要规划自己未知领域的事情,那会让你处于想当尴尬的境地。

15. 不要数你干活花了几个小时。技术大牛会把时间花在有深度的工作上,并且他们清楚花了多少时间完全不重要。

16. 学会坦然接受批评。当你的代码因为各种原因四分五裂时,你需要培养用理性和逻辑的方式来应对(而不是情绪化处理)。

17. 和有更多经验的人结对编程。没有比这个更高效的编程学习方式了。

18. 一定要先自己做一遍代码审查。当你在 GitHub 上发起一个 pull request 之前,先把代码当成别人写的,自己先审查一遍。

19. 认识到做自由职业的难点不是写代码,而是其余的所有事情。销售、推广、客户支持,质量保证以及产品管理,所有这些都会花费大量时间。

20. 发现并解决更大的问题。优秀的程序员不拘泥于眼前的问题,而是清楚如何用更长远的方式彻底的解决这一类问题。

21. 深入了解一些大型开源项目的核心能让你开发时如虎添翼。如果你知道如何给你的项目打猴子补丁 (Monkey Patch), 那么你将无所不能。

22. 跳过多数的会议。你的公司雇你是来写代码的,而不是谈代码的。当会议多到失控的时候,不去参加也没有任何问题。而且一旦你开始这样做,别人会更珍惜你的时间。

23. 知道什么时候开始回馈。到了某个时候你需要将你的技能和经验传授给年轻的开发人员,就像你的导师当时教授你一样。

24. 能写烂代码。有时候可以当一当 “胶带式程序员”。关键是随着时间推移,你需要弄清楚什么时候可以走捷径,什么时候必须走捷径。这其实是最难掌握的技能之一。

像生活中的很多事情一样,编程也是你做的越多,了解的就越多。所以如果你是一个新手程序员,还是直接去编码吧。记得将这些最佳实践应用在日常工作中,来不断提升你的编程技艺。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-11-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

后台开发应该读的书

根据我的经验来谈一谈,先介绍一下我的情况,坐标上海,后台开发(也带团队了),某知名互联网公司。 目前主流的有C++和JAVA,C++我的经验稍微多一点。我就说说...

61790
来自专栏Crossin的编程教室

【Python 第0课】Why Python?

为什么用Python作为编程入门语言? 原因很简单。 嗯。。。原因就是,很简单。。。 每种语言都会有它的支持者和反对者。去Google一下“why python...

34870
来自专栏喔家ArchiSelf

PHP 是最好的语言吗?

最近被朋友们拉入了几个技术社群,有微信群,也有QQ群,尤其对一些年轻的朋友,大家乐此不疲的问题居然是 PHP 是最好的语言么?

18620
来自专栏java工会

Go语言能够取代Java,成为下一个王者吗?

近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转了。我们来看看Tiobe世界编程语言排行的最新...

25340
来自专栏钱曙光的专栏

一周极客热文:Java开发牛人十大必备网站

新时代的学习不再是陈旧的课堂教学,而是个性化的学习,而网络自学也成为很多人的学习新方式,网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题、面试问题等,质...

275100
来自专栏python+iOS学习交流

滴滴在职iOS开发者,告诉你他是如何实现指数级提升开发技术的?

如何提升开发技术的方法很多,比如专注,刻苦,热情,兴趣等,不过我这里不会提这些,下面想说的是我觉得能够指数级提升的窍门和一些自己在求索路上的一些体会,也算是一个...

16300
来自专栏Python爬虫与算法进阶

为了知道胡歌粉丝的男女比率,爬了三百万微博数据

、最近偶然间看到一条新闻,标题是:“胡歌作为一个男性明星,男粉丝比女粉丝还多,这不科学!”

50620
来自专栏tkokof 的技术,小趣及杂念

移动开发之工具推荐

  相信用过cocos2d系引擎开发过游戏的朋友(什么,你听都没听过cocos2d!?好吧你可以马上看看这里、这里或者这里),对于TexturePacker这个...

12630
来自专栏程序员与猫

月末总结与推书

12630
来自专栏Java架构

蚂蚁金服面试Java经历——内含大量干货!一、 电面:二、 现场面:三、 HR面:

57430

扫码关注云+社区

领取腾讯云代金券