阅读优秀代码是提高开发人员修为的一种捷径
3页1、阅读优秀代码是提高开发人员修为的一种捷径编者按:原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文是其中的另一篇。Alan认为:阅读优秀代码是提高开发人员修为的一种捷径。以下是全文。我突然想起来,很多程序员都讨厌阅读代码。来吧,承认吧! 每个人都喜欢编写代码,编代码是件趣事。 另一方面,阅读代码也不容易。 不仅不容易(编注:参见微软资深软件工程师:阅读代码不容易),而且还非常枯燥,咱们要面对这一事实。任何不是你的代码都不怎样。(虽然我们没有说出来,但我们都是这样想的。)即便是你自己几个小时之前写的代码,也会看起来很烂。时间越久,看起来越烂。 所以,为什么你要浪费时间去看其他人的糟糕代码,而你完全可以利用这段时间编写你自己的优秀代码。 其实我们可以一试,几个小时之后回头再看,看看你的代码是否还依旧优秀。 如果你不能吸收前辈大师的经验知识,那你永远都无法成为一位大师。成为大师的方法之一是,找到一位大师,让其倾囊传授其所知。 有这种可能么?当然了,有这可能,虽然机会不大,但你必须极其走运。 不过你不必十分走运,因为我们幸运地处于
2、这样一个职业,一个充满着大师知识和技能的职业,等待我们去汲取吸收,这些东西就在他们所编写的代码中。 你要做的就是去阅读代码,当然了,这或许耗时不少,毕竟没有人坐在那里给你讲解,但这种方法的成效还很高。 打个比方,要想成为一名卓越的木匠,得观察大量结构优良的家具。我喜爱阅读代码,我的直觉告诉我,你也会从中获益颇丰。虽然阅读过程恼人并烦人,但其回报是非常值得你为之努力的。 说到这个,如果你想成为一名卓越的作家,你会专注于写作么? 你或许已经尝试,但你并没有走得很远。 大多数的伟大作家也是如饥似渴的读者,这是一个普遍事实。 在你能写出任何拿得出手的东西之前,你需要品读其他伟大作家,吸收不同的风格,看看前辈已尝试过的东西,从中吸取精华。 你的知识会慢慢增长,你自己的作品最终会透露出些许成熟,你也会找到一种“感觉”。 编写代码和写作没什么不同,如果你都没有阅读过任何卓越的代码,你为什么期望自己能写出像样的代码呢? 你显然不应该那样。对于程序员来说,阅读卓越代码就如同作家阅读优秀书籍一样重要(这话可不是我说的,这是Peter Norvig(Google研究院总监)说的,他非常优秀,大家也要向他学习
3、了)。即便所有这些都无法让你信服,那这里有一个不可置否的事实。 对你作为一名专业开发人员的生存来说,善于阅读代码至关重要。 如今,任何有一定规模的项目,都是团队的成果。所以,你通常要处理、修改和扩展大量不是你写的代码。 因此,阅读代码可能是你能掌握的最常用并最有用的技能。挺过这个难关,好好掌握。 如何阅读代码?像某些人一样我已经记不清有多少次看到程序员(用鼠标)滚上滚下地看着不熟悉的代码,几分钟过后,他们的脸上浮现出不悦的表情。 他们不久后会宣告说,那代码不值一读,为什么要浪费时间呢?我们只能用其他方法解决问题。 我不确定(他们)在期待什么,是通过潜移默化来吸收代码的含义,还是集中精神盯着代码来得到启发? 你不能只靠长时间盯着代码来阅读代码,你要理解它并化为己用。 这里有一些我喜欢用的技巧,虽然这不是一份详尽的列表,但我发现其中有些特别有用。1.尽力构建并运行代码。 这通常是一个简单的步骤,就像你在看可运行的代码(这和随机代码相反)。 不过,并非总是如此。通过构建和执行代码,你能从中学到很多上层代码结构。 说到工作代码,你是否非常熟悉如何构建你的当前项目? 虽然构建通常非常复杂,但通过
《阅读优秀代码是提高开发人员修为的一种捷径》由会员枫**分享,可在线阅读,更多相关《阅读优秀代码是提高开发人员修为的一种捷径》请在金锄头文库上搜索。
【最新教材】沪科版八年级数学下册名师导学案:数据的集中趋势
纪检部规章制度常用版(四篇).doc
陕西省农村剩余劳动力规模的测度及
大学生商战沙盘模拟大赛方案
消化内科护理工作计划范文(2篇).doc
货车租赁协议常范本(9篇)
小学教师年度述职报告
整理二十五项反事故技术措施
5万吨导电浆料及物流仓储项目商业计划书写作模板-招商融资代写
艺术培训学校管理策划
七年级语文上册17犟龟同步练习语文版
小学六年级班主任德育工作计划范文
抵押借款合同样本经典版本
XXXX上半年天津电机装配工:电力设施保护考试题
云南省德宏州梁河县第一中学高中政治 第一课 美好生活的向导含哲学与时代精神学案(无答案)新人教版必修4
2023年四川省德阳市中江县龙台镇宝庆村社区工作人员考试模拟题及答案
某铝业有限公司突发环境事件应急预案
水工建筑物重力坝课程设计论文
旧厂房改造开题报告
2023年有关家长代表发言稿精选范文
2024-01-10 5页
2024-01-23 6页
2023-11-16 7页
2022-12-29 3页
2023-09-24 1页
2022-09-25 2页
2022-12-18 5页
2022-10-30 7页
2023-03-12 7页
2023-01-13 5页