【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《写代码的四个阶段》,欢迎阅读!
写代码的四个阶段
从你拿到第一份码工的工作开始,你就可以说你会 写代码 了,
因为毕竟面试是需要写代码的。然而会写面试的代码于工作是没 有太大益处的。仅仅是你必备的一项找 工作技能。真正能写出在 production也很solid、很靠 谱的代码,可能很多人都经历过类似的 不同阶段:第一阶段:抄代码 大部分公司对于比较新手的程序员, 不太会上手就让你从无到有的开创一个新的代码库。而是在某一个代 码库里增加或者修改一个功能。或者至少又类似的代码 库可以参照。 从产品的角度说,就是增加或者修改一个已有产品的特性。很多时候, 公司的代码库已经有了很多类似的 代码模块可以参考,而这种代码写 起来其实没有太大技术难度,按照前人的写法写就行了。叫抄代码有 点偏颇但是什么意思,我想很多人都能体会。我在Square的前 半年,感觉大部分代码是这么写出来的。其实收获会很大:第一,你 见识了这样的系统的架构是什么样子的。第二,很多地方 别人为什么 要那么写,反复琢磨,琢磨透了,就会学会处理 实际编程中的很多技 巧。比如怎么处理并发,怎么处理异常,怎么减少代码耦合度,等 等。第三,很多语言的巧妙之处,系统设计的精巧,这些都是单纯读 文章或者读代码很难体会 的,自己从需求出发去理解这样的方案,其 实学习语言的效
率也是事半功倍。第二阶段:学代码当我们对业务逻辑,代码库都 比较熟悉之后,这个时候多看看进阶的书和各种学习资料,我觉得 是最有效
5
的。因为你有了一定的基础,所以阅读起来更容易理解。
更重要的,是书本或者资料里提 到的一些优化方案或是设计技巧,会 特别容易引起共鸣。记得有一次,我要写一段处理REST API request retry情况 下怎么保证request的执行在timeout或是lost 等情况下都能保证service的功能函数被且只被调用一次。因为涉 及到异步和并发,所以有很多奇怪的情况需要考虑。那几天 满脑子里 都是在想各种不同的出错场景该怎么处理,如何正确使用 idempotency key来保证实现的严谨和正确性。就在这个时候,很幸 运地看到一段类似情况的处理的代码,当时再读这样的实现,就对其 简洁和全面无比欣赏,感觉就像发现了一件设计精巧、打造完美的艺 术品似的。工作中从别人・从资料积累的这样的学习慢慢会变多, 这个时候,经常可以在对别人的代码审核中给出比较有价值的建议, 或 者能够对已有代码库做出进一步的优化和完善。第三阶段:心中 有代码 虽然说很多时候,大家觉得程序员这个 职业,年轻人更有优 势。我倒真的不是完全认同。一个程序员如果坚持不断的上手写代
码,不断思考,不断学习,这样 积累下来的经验应该只会让自己不断 增值的。前几天和 二爷说笑,二爷说,和一些牛人聊技术,聊团 队,聊模式,往往之后会觉得技术之外的东西更有帮助。其实就是这 个道理T支术不是靠一次能讲清楚的,牛人一次分享会给你一些启 发,但是这些启发有多少能转化到产品中,其实还是有很多别的更重 要的因素的。所以很多公司都需要挖一些这样的高级甚至高高级的 程序员,因为他们是心里面有代码,知道一个service应该怎么写‘ 会有哪些坑。哪怕是写出的只是几十行代码,其实可能都是多少年经 验积累下来的最宝
贵的经验。第四阶段:心中无代码 这句话好像有 点虚。最近看了曹政哥的一篇文章《从值乎谈执行力》,有一段觉 得写得特别好。以前我请大牛云风给我们讲过课,讲系 统架构设计, 他口头语也是,这个什么什么其实很简单,从头到尾你看不到他卖弄 什么技术,讲什么特别高深玄奥的东西,但是人家搞出来的系统确实 好用,后来提问环节我们有员工问过一些新的技术名词相尖的什么什 么,云风也很直白,很务实的说我们目前这个需求,用不上什么什么 的。我就觉得这是重剑无锋的一个典范;现在云风他们团队分享的 skynet开源引擎已经有非常多游戏团队在用,代码量也不复杂,功 能也不算丰富,但是很实用的一个轻架构,能极大减少某些类型游戏 的服务端开发成本。这恰恰引起了我的一点感触。最近我们Airbnb 支付组在重构我们支付系统的API,大家都知道Airbnb支持191 个国家75种货币几十种不同的支付方式,在设计中需要保持API 的简洁,又要留出足够的灵巧性可以方便的扩展和支持任何一种已有 的或是新的支付方式。在设计和实现的过程中,所有的编程模式要 熟悉,却不可能硬搬任何一种模式。只有真正吃透了需求和所有的编 程技巧,才有可能做出干净而实用的方案。(题图作者杨江明也是 这个系统的主要架构师。)最后小八 卦一下。硅谷码工随着等级的 上升,收入不是呈线性增长,很多时候是翻倍地长的。我觉得其实是 合理的。所以在初入职场面临的很多选择,其实还是应该以提高自身 水平作为最重要的因素。年薪上差的那几万十几万,如果好好发展, 到了后面,真的就不算什么了。第一份工作为了 package做选 择,真的不值得。转载,侵权请告知。您的赞赏是我们前进的动力~
本文来源:https://www.wddqxz.cn/dedcc90ecad376eeaeaad1f34693daef5ff7138d.html