这八法十分可靠,可提高你写代码的技能,你可要收藏好了。时间到了,提高你的编程技能,认真+严肃,走起!如果你的目标仅仅是提高自己,那么很容易实现,但是如果你的目标是成为一个伟大的程序员,那么这就不简单了。很多人都愿意说,我想变得更好,但是更好是什么却很模糊,而且人们也不知道该怎么样去做。我在这里分享八法来帮助你顺利提高你的编程技能。这些小智慧来自三十年深耕该领域,许多都令你再熟悉不过了,你可能早就认知了它们。

1.要记得,你并非无所不知

在你前进的路上,有一只巨大的拦路虎,它的名字叫做“我无所不知”。那些计算机学科毕业的大学生们以及有经验的程序员都好犯这样的毛病。实际上,这是一个陷阱,掉进去就很难爬上来。但是,你仍然要克服它。只有才愿意认为自己无所不知,但是人类的特点是,能够认识到自己的不足,然后去学习新知。所以,你要明白,想要成为一个更好的程序员,第一步就是意识到自己总有新物要学,保持谦逊的态度,这才是学习的一贯正途。

2.停止去证明你有多正确吧

从经验中学习会令你伟大,而不仅仅是还凑合。但是要注意了,经验也会使我们不断重复错误的行为导致养成不好的习惯。如果你是有8年经验的程序员,你也有可能连着8年都在重复同样的错误。克服这一谬感的方法就是,时刻检视自己,并不断地发问:在这一点上,我是否还能做得更好一些。举个有趣儿的例子,一个经验丰富的软件开发者,他写出了令自己也艳羡不已的代码,于是他觉得这个代码简直太完美了,他不断写文章去证明自己有多么的正确,代码功能多么优秀。氮素呢?人们从来没有见到他去找一切办法来佐证自己的代码是错误的。其实呀,真正优秀的程序员,他们都喜欢去证反,就是去证明自己有多么的错误,因为他们知道,长久来看,用户一定会发现软件的问题和失误,而他们希望自己首先发现这些问题,而不是等待别人去发现。呐,你看到优秀和平庸之间的差距了吗?

3.代码没有死亡,它始终活着

没错,你第一步总是要写出高质量的代码来满足用户的特殊需求,但是优秀和平庸的区别体现在哪里?如果你只是匆匆忙忙地进入下一个任务中,那么你不可避免地成为了穷忙族。一段代码写出来以后,它并没有死亡,它始终活着。这说明什么?你写出代码并不意味着你的工作结束了,相反,一切都才刚刚开始,你不需要火急火燎地赶往下一个站点。停止,仅仅意味着阶段性的展示和赏析,但是伟大的程序员对一件事情心知肚明,那就是万事都可以更好,产品运行了,这很棒,但是你的工作没有结束,要依靠迭代让产品变得好上加好。

如何让产品变得更好?我们依据不同的应用,会提出不同的问题,比如,更快是不是对产品价值的增值?更容易记录是不是呢?更容易重复使用呢?更可靠呢?这些问题虽然不同,但是程序猿对产品不懈追求的动机是一致的。你懂了吗?你不断思考如何让产品变得更好,这一点是不变的,但是你的方法是提出一些与众不同的、内容不一的问题。

4.写三次吧

好的程序员认为写出的软件能运行就好了,伟大的程序员认为软件要运行得极其完美。但这很少在第一次就成功,最好的软件通常要写三次。首先,你写软件是为了向自己或者用户证明问题是可以解决的。其他人或许意识不到这是一个概念生成的时期,但是你自己很清楚。然后,你让软件生效。最后,你让它正确地运行。在那些最好的开发者身上,你并不会明显地看到这种级别的工作流程,他们做的一切都看起来聪明极了,但是在他们背后,即使是明星开发者,他们多少次将第一版和第二版扔进垃圾桶,你是不得而知的。你想做到更好,你就要将摒弃代码与重新开始这条给力的方法融进你自己的工作流程之中。如果没有什么特殊情况,“写三次”可以教你认识到:解决一个问题有很多种方法,它使你避免在一棵树上吊死。

5.尽可能地去读代码,越多越好

我在这里不能给出更多的建议了,我只能告诉你要提高编程技能,你就要去读别人的代码。这一点太重要了。你读别人的代码就能发现他们是怎样解决一个编程问题的。但是不要仅仅把它们当作参考文献,你要把它们当作一门课或者挑战,去学到技能,让自己的编码能力得到提高。你可以这样问自己:噢,看看我写的这堆代码,你的和我的有什么不同呢?你找到另一种解决方法了吗?我能学到什么呢?我怎么用到自己的代码中去呢?我以前可从来没想到还可以这样做呢!我能做什么来提高我的代码的质量呢?

既然这些资源都开放给你,你就可以有信心找到更好的解决办法,去做吧!用当作家的心态去写代码吧。这种练习会帮助你接触到最优秀的头脑,这样就会与他们产生共鸣。不要把过程想象得太松散。无论你是习惯于私人杂志、博客、代码审核程序,还是习惯于拥有众多开发者的社区平台,你都要分享出你思考的结果。比如向朋友去解释一个问题,这能帮助你理清思路,再比如你分享出你的分析,这能帮助你去搞明白你为什么会以固化的思路去反馈别人的代码。这就是我在前面所提到的自我反省中的全部。反省会帮助你平心静气地判断你自己的优势和劣势。

注意:阅读大量的代码并不能使你变成伟大的程序员,就好比一些想要超越伟大的文学家的人阅读了大量的优秀文学作品结果却并不一定提高自己的写作能力一样。大量的开发者只是为了简单地解决问题而去阅读,他们急于找到一个答案,所以大部分时候,他们只是复制和粘贴了别人的代码。你这样做的话,就会变成一个特别糟糕的程序员,因为你对他人的智慧视而不见。另外,如果你只是抄袭而不去花时间理解的话,你吃的就只是bug而不是夏日午餐。这样,你其实就成为了一个bug生产厂。

6.不要只为工作而写代码

接一个私人的编程项目有许多的好处。比如,你不仅有机会获得在目前的工作中很难学习到的工具和技术,而且还能够使你更具有市场眼光。无论你是否为开源项目做奉献,或者承担本地社区组织的一个无偿的项目,你都将获得技术能力和自信。另外,你的私人项目也向你潜在的雇主证明了你是一个不会停止主动学习的人。因为热爱而写代码的另一个好处就是你很容易依靠自己去解决许多问题。你不能把困难抛给别人,你会停止一遇到问题就立即向别人寻求帮助。提示:不要只选择你有把握的私人项目,你需要一些无把握的尝试。但是你的确可能在面临最终期限到来的时候不想失败。

7.尽可能与其他开发者亲密地合作

倾听他人是合作的基本原则。无论你是组队编程还是参加黑客马拉松,或者就是参加一个编程人联合会,比如Vermont编程人联合会。当你为一个开源项目无私贡献的时候,你要注意来自用户和其他开发者的反馈意见。你在这些评论中看到那些共性了吗?其实你这是很幸运地遇到了可以信任的私人顾问,他们能在你需要的代码技术和职业选择的一系列问题上给你指导。不要浪费这些机会。

8.你学的是技术,而不是工具

编程语言、工具和方法论千帆过境,数不胜数。这就是为什么你在语言、框架上的经验要尽可能地多。你必须集中精力在编程的基础上,因为基础基本不变;你还要把注意力放在构建而不是编写上。任何时候,你坚信只有一条正确的道路通向真理,那么你就该自我反省一下了。教条会阻碍你学习新的知识,使你变得不爱改变。道理怎么讲都讲不完,但是自我提升的核心要点就是你知道在哪里止步。

三十五年经验分享:程序员进阶八法相关推荐

  1. 那些三十五岁失业的程序员,后来都干什么去了?

    前言 本人在互联网行业干过十多年,共事过的程序员没有1000也有800了. 我虽然年纪不大,但最早一批同事老早过了35岁了.身边很多35岁以上的程序员,他们把最好的青春奉献给了公司,当然大多数也获得了 ...

  2. 三十五岁失业的程序员,后来都干什么去了?

    前言 本人在互联网行业干过十多年,共事过的程序员没有1000也有800了. 我虽然年纪不大,但最早一批同事老早过了35岁了.身边很多35岁以上的程序员,他们把最好的青春奉献给了公司,当然大多数也获得了 ...

  3. 经验分享 —— 程序员编程如何入门、进阶

    点击上方蓝色字体,关注我 -- 一个在阿里云打工的清华学渣! 图:于海童@清华 关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.欢迎关注 ...

  4. 快三十岁的单身女程序员该何去何从

    最近总是很消沉,工作心不在焉.想想自己快三十岁的年纪,如今却还是单身,也想着找一个差不多的结婚,谈不上多喜欢,至少性情温和,知冷知热的,但是最后却没有结果,我知道原因. 我这个人看事情很清楚,又是个直 ...

  5. 雷观(十五):提高生产力和程序员价值的2种方法

    2019独角兽企业重金招聘Python工程师标准>>> Web项目,尤其是Web管理系统,被很多程序员认为没有技术含量.这种项目,主要功能就是增删改查,尤其是查询方面,更是多种多样. ...

  6. 离职跳槽再启航——三十二岁C++老程序员两年来的心路历程(一)

    2023年2月14日,天气阴,偶尔有太阳出没,刮风,比较冷,冬天还在持续,最近一两周的时间里没有一个像样的晴天. 去银行办了新公司的工资卡,提交了所有入职材料,整理了新租的房间,熟悉周围环境,为明天开 ...

  7. 程序员的三十五岁危机

    三十五岁以后的程序员路在何方,这已经是个老生常谈的话题了. 大家普遍认为程序员是吃青春饭,过了一定得年纪就不好找工作了.我不反对这个观点,一些公司确实是有要求的,尤其是一些大厂,况且现在生活节奏这么快 ...

  8. 程序人生 - 程序员三十五岁瓶颈你怎么看?

    35 岁,职业发展开始遇到瓶颈,有的人已经快写不动代码,也还没有晋升到管理层,个人职业如何发展必是反复拷问过自己的.即使不是自己主动考虑,在目前互联网行业裁员大潮下,中年程序员也有可能被动地被优化掉. ...

  9. 程序员与年龄:四十岁普通开发、三十五岁首席架构、三十岁基层Leader

    最近,有一个词儿特别热门--躺平.有没有人跟你说过:"躺平说起来容易,做起来更容易." 和躺平相对的是另外一个词--内卷,群聊的时候,已经很多次看过草卷起来了.jpg表情包.某些节 ...

最新文章

  1. Python基础之逻辑运算符
  2. 收藏 | 使用Mask-RCNN在实例分割应用中克服过拟合
  3. hasnMap的基本操作 源码(三)
  4. 分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain
  5. ppt的一些基础操作
  6. python读取csv画图datetime_python – CSV数据(Timestamp和事件)的时间表绘图:x-label常量...
  7. 1、MapReduce理论简介
  8. 【2017年第3期】大数据服务三农的初步分析与探索
  9. 汇编语言之第六章包含多个段的程序
  10. php序列化函数输入0存不了,php序列化函数的区别
  11. 华为交换机 查ip冲突_华为交换机:如何解决网络中IP地址发生冲突故障?
  12. 软件测试常用方法实例与分析
  13. 视觉目标跟踪大牛主页
  14. 证件照排版软件_傻瓜式证件照片排版以及尺寸的调整
  15. 做毕设|墨墨背单词+单词本(小程序)01
  16. 万有引力品牌战略全新升级,正式更名库奈光年
  17. 给图片加水印的几种方法
  18. 搜索词与关键词报告区别
  19. 85号文的12点深度解读:仅身份证不能入件 公安人行齐动手
  20. MATLAB课程笔记(二)——MATLAB基础知识

热门文章

  1. 明日之后双人十庄房子蓝图_明日之后和同居的那些事
  2. 白月黑羽python_白月黑羽来帮你分析现在是选择 Python3.6 还是 Python 3.7
  3. xampp mysql5.6_xampp (php5.6)免费官方版下载-xampp v5.6.36 win32 X86下载 - QT软件园
  4. 单片机c语言sden,电力系统中多通道同步采样ADC(AD7606)与浮点DSP(ADSP-21479)通信的设计与实现...
  5. Avada学习之-如何修改网站标题(正标题与副标题)
  6. cart算法 java_CART算法原理及实现
  7. Unity时光倒流效果实现
  8. 求学生课程平均分问题
  9. 多模态情感识别(MER)数据集整理
  10. 开发大百科之 RobotStudio 机器人离线编程工具