没有合适的资源?快使用搜索试试~ 我知道了~
00丨开篇词丨一对一的设计与编码集训,让你告别没有成长的烂代码!1
需积分: 0 1 下载量 140 浏览量
2022-08-03
21:41:22
上传
评论
收藏 1.71MB PDF 举报
温馨提示
试读
11页
程序员的看家本领你得练好研究生毕业后我就加入了 Google,至今我还清晰地记得,我第一次提交代码的时候,短短的 100 多行代码,被同事 review 出了
资源详情
资源评论
资源推荐
开篇词 | 一对一的设计与编码集训,让你告别没有成长的烂代码!
2019-11-04 王争
设计模式之美
进入课程
讲述:冯永吉
时长 13:12 大小 12.10M
你好,我是王争,是“ 数据结构与算法之美”专栏的作者。“数据结构与算法之美”专
栏在今年 2 月底全部更新完毕。时隔 8 个月,我又给你带来了一个新的专栏“设计模式之
美”。如果说“数据结构与算法之美”是教你写出高效的代码,那这个设计模式专栏就是教
你写出高质量的代码。
程序员的看家本领你得练好
研究生毕业后我就加入了 Google,至今我还清晰地记得,我第一次提交代码的时候,短短
的 100 多行代码,被同事 review 出了 n 多问题,来来回回改了不下十几个版本才提交上
去。我当时有很大的逆反心理,觉得有必要浪费这么多时间在如此细节的编码上吗?只要代
码能用、能解决问题不就够了吗?
下载APP
工作一段时间之后,我才发现自己当时的想法有多幼稚。
写代码可以说是程序员天天要干的事情,要是代码都写不好,最基本的看家本领都练不好,
成天堆砌烂代码,写代码还有啥意思呢?那还干啥程序员啊!写出“能用”代码的人比比皆
是,但是,并不是每个人都能写出“好用”的代码。只会写能用的代码,我们永远成长不成
大牛,成长不成最优秀的那批人。
后来我熟练掌握了各种编写高质量代码的技巧、方法和理论,我发现,实际上,写烂代码和
好代码花费的时间是差不多的。当你把写高质量代码培养成一种开发习惯之后,在你在编写
代码的时候,自然就有一种代码质量意识,自然而然就可以写出不错的代码。即便在我离开
Google 加入其他公司之后,项目的代码质量因为各种原因有所妥协,但我起码知道什么样
的代码是高质量代码,丝毫不影响我具备写出高质量代码的能力。
我相信,很多工程师都很重视代码质量,毕竟谁也不想写被人吐槽的烂代码。但是,就我的
了解来看,毫不夸张地讲,很多工程师,甚至一些 BAT 的员工,代码都写得惨不忍睹。一
方面,在目前这种快糙猛的开发环境下,很多工程师并没有太多时间去思考如何写高质量代
码;另一方面,在烂代码的熏陶下,在没有人指导的环境里,很多工程师也搞不大清楚高质
量代码到底长什么样。
这就导致很多工程师写了多年代码,代码功力一点都没长进,编写的代码仍然只是能用即
可,能运行就好。平日的工作就是修修补补、抄抄改改,一直在做重复劳动,能力也一直停
留在“会干活”的层面,就像高速路上的收银员,只能算是一个“熟练工”。
一个人闷头看书效果并不好
当然,也有一些比较上进的工程师,会去找设计模式、编码规范、重构等类型的书籍去看,
学习如何编写高质量的代码。实际上,我也买了很多这类的书籍来看,从这些经典的书籍
中,我也学到了很多编程技巧和提高代码质量的方法。
不过,这些书籍都有一个特点,那就是比较偏重理论讲解,喜欢拿猫、狗之类生活中的例子
来举例。当然,这样的例子也有优点,那就是能在简短的时间和篇幅内,很好地帮你理解原
理。但同时也存在一个严重的问题,那就是过于脱离真实的软件开发。而且例子本身没有难
度,你一看就觉得懂了,但是看完之后,可能还是不清楚如何将理论落地到实际的项目编码
中。
比如,我们都知道著名的 KISS 原则(Keep It Simple and Stupid)。这个原则理解起来
很简单,一看貌似就懂了,那我问你,怎样的代码才算是足够简单呢?怎样才算不够简单需
要优化呢?估计很多人都回答不上来,因为大部分书籍都没有讲清楚。
除此之外,一个人自己闷头看书,在很多时候效果并不好。一方面,每个人的理解能力是不
一样的。对于同一本书,不同理解能力的人看完之后收获也是不一样的。跟着有经验的老师
学比闷头自己看书要更高效、收获更多、成长更快。另一方面,编码本身就是一门实践课,
光闷头看书本理论肯定是不够的,更重要的是在实践中学习如何应用这些理论。
一对一手把手指导才最有效
从我的经验来看,我觉得最有效、最快速提高编码能力的方法就是,找一个比你资深的工程
师,一对一、手把手地指导你写代码。你提交代码,他来指出你的问题,你再优化,这样一
来一往,要不了多久,你就会发现,自己的代码能力突飞猛进。
但是,理想很丰满,现实很骨感。且不说能不能找到这样有资格指导你的人,即便能找到,
他愿不愿意、有没有时间来手把手指导你,还是另外一回事。而我比较幸运,在毕业之后就
加入了 Google,得到了顶尖工程师的指导,一对一地给我 review 代码,手把手地指导我
如何优化代码。正因如此,在 Google 的那段时间也成为了我编码能力提高最快的一段时
间。
所以,在设计专栏的初期,我就在想,如果我能模拟这样一个一对一、手把手、就真实项目
代码讲解的场景,是不是就能让专栏有别于千篇一律的书籍,从而能真正提高你的代码能力
呢?基于这样一个想法,我们接下来就来看,我是如何设计整个专栏内容的。
我是如何设计这个专栏的?
100 多篇文章、50 万字、2 万多行代码
整个专栏的文章总共有 100 多篇,每篇平均下来在 5000 字左右,所以你总共需要学习 50
万字。为什么篇幅会这么多?这是因为,我想一次性把跟编写高质量代码相关的所有知识,
都系统、全面地讲清楚,一次性给你讲透彻。你看完我这一个专栏,就能搞清楚所有跟写高
质量代码相关的知识点。
除此之外,为了避免脱离代码,空洞地讲理论,专栏每篇文章平均大约有 200 多行代码,
整个专栏累计有 2 万多行代码。而且,这些代码都来自我这十几年积累的真实项目,而非
剩余10页未读,继续阅读
坐在地心看宇宙
- 粉丝: 24
- 资源: 330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0