美文网首页
编程教会我的5个生活信条

编程教会我的5个生活信条

作者: 朱卫军AI_Python | 来源:发表于2022-11-20 20:26 被阅读0次

1、不要等准备好了再出发,优秀的程序员都是“探路者”

我见过不少程序员不敢尝试新技术,空有好的idea却从不去实施。他们不是懒,而是“完美主义”,永远解释自己能力不够、没想好、准备中...

编程的经历让我发现,只要你开始疯狂敲代码,会不断蹦出新点子,很多问题也会迎刃而解。因为编程的过程中,你会不自觉地去思考逻辑、检索资料、咨询大佬、反复纠错校验,最后发现做出来的东西居然有模有样。

一旦你想法太多,始终在起跑线上观望,会陷入“完美主义”的陷阱,久而久之就成了拖延症晚期。拿学Python来说,其实语法并不难,但很多人死在了安装Python软件上,觉得各种麻烦、复杂,怀疑自己搞不定。也就一直处于“我对Python念念不已,Python对我爱答不理”的状态。

《黑客与与画家》书里说:你把整个程序想清楚的时间点,应该在编写代码的同时,而不是在编写代码之前,这与作家、画家和建筑师的做法完全一样。

相信程序员都会有体验,你不可能每个功能都完美设计好,才开始写代码。

电影《饮食男女》也讲到:人生不像做菜,不能等一切都准备好了才下锅。

确实这么个道理。

2、很多事都是孰能生巧,没有足够多练习不要提天赋

编程应该是最能体验prctice make perfect的技能之一,在前期积累的阶段,往往要大量的去刷题、比赛、模仿,才能显得游刃有余。

资深码农就像是老师傅,哪个不是键盘敲到发白。

可能练习不一定会让你完美,但大量的练习会让你产生髓磷脂,一种神经元外侧的脂质,能让你的脑回路更加灵活。

人的大脑可以分为反射、思考、记忆三个功能,大脑可以通过大量的反复练习让思考演变成习惯,最后跳过思考只需要反射的指令操控就能完成,从而达到“生巧”的效果。

当然作为程序员,练习不是一味的重复,或者去完全复刻别人的代码,每一次练习都应该增加难度,有突破自己认知的成长。这样经过反复的输入、评估、输出、纠正,你会有惊人的变化。

当然练习不光是程序员需要做的事,几乎任何能力的修炼都离不开反复练习。

3、要有良好的习惯,才能事半功倍

编程是一项系统工程,就和写小说、建大厦一样,所以需要有模式、规矩、条理,才能不至于变成“屎山”。建议大家在写一个程序之前,可以用脑图软件理一下思路,也可以用伪代码提炼核心逻辑。

还有比如说规范代码命名、规范注释、模块化、版本控制、注意备份等等,都是需要养成的好习惯。

我非常喜欢Python编程的理念,尽量写符合Python习惯的代码,它在Python之禅里解释道:

优美胜于丑陋(Python 以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

当存在多种可能,不要尝试去猜测

而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )

做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

写代码需要好习惯,对个人学习、工作来说更需要。

你看看高中班里那些拔尖考名校的同学,基本都是上课认真听、考试不粗心,在同一个班里智商差异不明显的前提下,拉开差距的都是学习习惯。

我一个前同事,有个习惯非常让我佩服,他每次演讲PPT前,都要花一两天时间给每一页做备注,然后写演讲稿,在家不断练习。

这其实是一种习惯的养成,既然他在演讲PPT上这般用心,其他工作必然不会差。

4、最简单的往往是最有效的

很多人喜欢把简单的事复杂化,比如说一个线性回归能解决的事,非要用神经网络,浪费大量机器资源,跑出来的效果也不好。其实在编程领域,往往简单胜于复杂。

Python提倡一个函数只做一件事,一件事只有最好的一种解决方法,这其实就是把复杂问题简单化。

当然这里的简单不是幼稚、容易,而是最优解法,并且尽可能让更多人看懂。

5、愚者困惑,智者提问

如果你是程序员,会发现有大量的技术网站和博客,比如stackoverflow、csdn、博客园、github、掘金等等,似乎程序员比其他行业更需要交流和分享。

编程教给我最好的学习方法就是提问和搜索,遇到bug我可以百度、谷歌,肯定有现成的答案等着你,因为你遇到的难题前人基本都遇到过,并且绝大多数都给出了答案。

所以对一个初学代码的新手来说,千万不要买本书、看门课就ok了,其实学会提问和搜索才是你编程生涯的开始。

说到学会提问和搜索,有些人会疑惑这也要学嘛?

那是当然,会提问题代表你知道自己不懂什么,并且能准确的描述出来,会搜索代表你知道在哪找答案,并且能识别答案的真伪。

愚者困惑,智者提问。对每一个人都是真理。

相关文章

  • 编程教会我的5个生活信条

    1、不要等准备好了再出发,优秀的程序员都是“探路者” 我见过不少程序员不敢尝试新技术,空有好的idea却从不去实施...

  • 真教会不能不认信的《西敏信条》---阅读《西敏信条》的心得|陳大

    真教会不能不认信的《西敏信条》---阅读《西敏信条》的心得|陳大衛 感谢阿爸天父的恩典和怜悯,使我有机会在此阅读及...

  • 编程教会我的事

    自从我学习了编程,在学习能力和解决问题的能力方面都有显著的提升。按道理来说在学习编程的过程中会遇到无数的问题,特别...

  • 伯特纳《基督教预定论》第二讲:预定论的简述

    预定论的简述 〈西敏信条〉告诉我们长老会与改革宗教会的信仰,是将改革宗信仰表达得最完全的信条,其中有一段是...

  • 生活信条

    以高雅的品格与敬意接触所有的人 经常保持开朗,尤其为人要诚实 对一切工作都要全力以赴

  • 《当代世界中的基督教》书摘(6)-天主教的教会之外无救恩

    然而需要注意的是,尽管有此新态度,著名的信条“教会之外无救赎”仍然是有效的。这一信条的一种旧的表述是这样说的...

  • 生活教会我的

    母亲教我做人要低调 不要锋芒毕露 可是我渐渐发现 机会从来不会眷顾 默默无闻的人 在这个世界里 你要学会表现自己 ...

  • 生活教会我的

    (一) 初中的时候,家里面条件不好。有时候,一说到要交学费的事情,妈妈就愁眉不...

  • 生活教会我的

    生活交给我的,就是要经受得住其中的磕绊,没错,并学着接受它,无论顺逆,都要学会开心,别让负面情绪缠住你。 都是第一...

  • 生活教会我的

    眨眼,耳边就再也听不到自己稚嫩的童音。 昨天,还在渴望着快些长大,今天就已经在不经意间实现。那颗陪伴了整个童年的树...

网友评论

      本文标题:编程教会我的5个生活信条

      本文链接:https://www.haomeiwen.com/subject/cmwwxdtx.html