我过去学习编程语言的方法、经验和教训

一、学习方法

       人们常说:“学语言并不是学语法。”

       当然,这里的“语言”指的是形形色色的编程语言,而不是平时说的“语言”。但正如学英语不是背单词,学中文不是记汉字一样。编程语言归根结底也只是一种对算法的描述。同样的算法可以用不同的编程语言来实现。因此,弄懂代码背后的思想远比记住各种语法要重要得多。

       对于 Python 浩如烟海的库函数或是 Windows 不计其数的 API ...... 妄想背下所有的函数更是不切实际。图灵奖获奖者 N.Wirth 曾说过:“算法 + 数据结构 = 程序”。在实际的程序设计过程中,需求分析、算法设计等过程往往是举足轻重的。至于代码的实现,反而是程序设计中较为容易的一步。

       我们在学习一门编程语言时,重要的正是培养这种语言的“语感”,体会其独特的优势。在学习理论知识的同时更要注意实践。对于同一个程序,甚至可以用不同的语言分别实现一遍。在学习过程中多参考大佬的代码。这样,程序设计能力的提高就是水到渠成的事了。

二、学习经验

       我最大的学习经验,莫过于逐渐意识到了代码风格和注释的重要性。

       对于编译型语言,编译器在编译程序的时候会完全忽略注释,不对注释内容进行语法检查。虽然有无注释对程序没有任何影响,但适当的注释可以对程序功能起到提示和说明的作用,增加代码的可读性。

       在我初学程序设计时,总是不写注释。当几个月后我再次打开以前的源代码时,已经很难回忆起这个程序当初是干什么用的了。为代码写适当的注释,不仅可以避免自己“健忘”;在与别进行交流时,还可以让别人快速理解你的代码。对于注释,应当解释“为什么使用这样的代码”,而不是简单地鹦鹉学舌,解释代码的作用。

       至于代码风格,虽然对程序运行也没有影响。但稳定规范的代码风格能大大增加程序的可读性。像谷歌、阿里这样的大公司,都有严格的代码风格规定:小到变量命名规则、大到实现类的条件。不符合规范的代码根本无法通过代码评审,更别提进入代码库了。这样的规范并非空穴来风。对于一个团队来说,统一的代码风格利于所有人的交流。这样,每个人在拿到别人的代码时,就能很快看懂。降低了团队成员之间的交流成本。

三、学习教训

       我在学习过程中最大的教训,就是懂得了“先思考,后动手”。

       我在初学程序设计时,总是野心勃勃。一拿到题就直接动手,生怕比别人慢。但程序设计中最关键的一步是“需求分析”;正如没能准确理解题意时,无论题答的再漂亮,也都会因为“偏题”被判 0 分。

       我时常看到人们这样的调侃:“算法工程师说产品经理不懂技术,产品经理说算法工程师不说人话。”这其实恰恰反应了需求分析与代码实现之间的矛盾与重要联系。我曾有这样的经历:在没认真分析题目便匆匆下手后,往往会经历多次返工,有时返工的规模甚至达到了创伤级别。最终虽然也能写出正确运行的程序,但消耗的额外精力实在太多。后来,我拿到题后不急着写,在草稿纸上写完流程图、设计好接口后再进行代码实现。果然,“磨刀不误砍柴工”,这用这样的方式开发程序,效率要高出不少。在完成程序后还可以不断迭代优化,自信心也会慢慢上涨。

参考文献

[1]  苏小红,陈玲玲,等.  C 语言程序设计. 4 版. [M] 北京:高等教育出版社,2019.

[2]  张铮,孙宝山,周天立. Windows 程序设计 . 3 版. [M] 北京: 人民邮电出版社.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值