0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位资深程序员的编程经验分享

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-07 15:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我写代码已超过 20 年了,并且迄今为止也教了大约 6 门编程入门课,总课时已经 1000 多个小时了。以下是一些我跟学生至少说过一次的(入门编程的)建议,排名不分先后。

欢迎来到编程的世界!

1. 编程真的很难

无论你多擅长编程,唯一能降低开发速度的,就是学习和解决问题的能力。而当你越是擅长编程的时候,这种情况就可能越明显。这是一个非常吸引人的特质—你永远不会厌倦编程。如果你厌倦了,那么你的做法肯定是错的,你应该去总结思考你在重写的代码。

2. 编程也会是最令人沮丧的事情之一

编程的一般步骤是:尝试解决问题 → 受挫 → 更努力地尝试 → 回顾 → 顿悟之后最终把程序运行起来。感到沮丧太正常了,而且这种感觉永远不会完全离去。(当你能力更强的时候,你将会面对更加困难的问题,因此也会存在同样的情况)。但这种沮丧的感觉,将使得解决这个问题感到更加地满足。因此你需要去适应在这种沮丧的感觉中工作。

3. 无论问题多么复杂,总会有其对应的解决方案的

当你的编程技能逐渐提升的时候,你也将更擅长也更有信心使自己保持平静,不陷入沮丧抓狂之中。这会使得沮丧的感觉变淡,同时也将促使你去解决更加困难复杂的问题。(如果问题太简单了,你甚至会觉得无聊的!)

4. 编程不是每个人都能做的

当我们还是孩子的时候,我们做不好任何事,但是我们也没有意识到这些。然而作为成年人,我们几乎没有机会去搞砸某些事。拥抱这种感觉吧。这太正常了,因为你在做的事,并不是每个人都有能力做的。

5. 要知道和你编程的第一个小时相比,练习 10 小时之后将会完全不同

同样的,当你完成100小时的练习之后,事情又更不一样了。曾经有个人在博客上写到当他在高尔夫上练习一万小时之后,水平产生了质的飞越。编程也是这样的。

6. 如果程序员是巫师哈利,那编程是基础的魔法

我们努力学习,钻研“课本知识”(计算机+互联网),学习“单词拼写”(程序)。巫师也可以教其他巫师如何使用他们的魔法。我们也可让这样的情景在地球上实现,去创造每个人都可以使用的神奇的设备。(就像互联网和手机)。即使没有我们“施魔法”,这些设备同样可以做一些不可能的事情。

7. 用好互联网

在你开始学习编程的第一年,你所遇到的每一个问题都是其他100个人已经遇到的。解决方法在网上已经记录下来了。你越快的学会有效的使用 Google 寻求帮助,你也将变得越开心。提示:如果你不明白代码的原理是什么,永远不要直接从网上复制。

8. 善于总结经验和技巧

作为程序员,无论何时,我们都要带一个工具箱。工具包含了我们解决问题的所有技巧。你所学的第一个对象(比如变量、for 循环等等)就像我们的螺丝刀和锤子。在你的编程生涯中将会每天都使用它们。当逐渐熟练的时候,你将开始学习如何使用更加高级的工具,这些工具可能不会被经常使用,但是却在解决特定问题的时候非常有效。(比如数据结构中的树、A* 算法、valgrind (内存调试工具)、调试器等)。大部分开发领域(游戏开发、 web 开发、数据库)同样也有着各自领域内的特定问题和解决方案。其结果就是,你所解决的任何问题在下次遇到的时候将会简单很多。

9. 每个写好的程序,都是一步一步编码而来的

你几乎可以在你的计算机上阅读、修改、测试任何项目,同样也包含大部分别人写好的项目。对计算机来说,这基本上就是一项超能力。

10. 坚持大量实践

在开发上有所进步的最好方法就是大量写程序坚持做东西。作为老师,在我力所能及范围内我将会给予帮助。但是一旦掌握了足够的知识储备,你将有能力弄懂我告诉你的任何事情而不需要太多时间。所以坚持写程序吧。正如一位智者曾经告诉我的:“只要有耐心,成功不可避免。”

11. 多读优秀代码

有太多的程序员比我们聪明了。他们写了很多代码,只要你需要你都可以阅读。这些代码很有可能在 Github 上。

12. 据说,你所学的第二种编程语言将会是最难的

第一门编程语言将会塑造你对程序的思维模式(严肃脸!),当学习第二门语言的时候,你将不得不陷入前面的思维模式中。(丝毫不影响大脑思维方式的编程语言根本不值得学习)。但是当完成第二门语言的学习之后,你将能够很快的学会其他新的语言。现在我可以在一周的时间内把任意一门给定的命令式语言学得足够熟练。

13. 没有所谓的“最好的语言”

某些语言和工具只是在解决特定对应的问题时比其它的要好一点。当学习新的语言的时候,不要尝试把你过去的思维模式带到新的语言系统中。相应地,我们应该学会如何更“地道”用新语言编程。

14. 放松心态、保持“单纯”

编程是一个巨大的乐高积木集合,充满了各种需要被解决的有趣的问题。为了深入弄懂其中的构造,花时间去编写有趣的程序,将比给你任何任命都要有趣的多。

15. 最优秀的程序员总是在工作之外自己也一直尝试编程。如果你真的非常喜欢且擅长这样,你将永远不会失业。

16. 当你卡壳的时候,在纸上写下你的程序。我是认真的。这非常神奇,是在编程竞赛中的标准训练模式。(我认为这个方法有效的原因是,当你不必花费精力去考虑语法的时候,你会有更多的精力去思考问题的本质和如何解决它)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97435
  • 程序员
    +关注

    关注

    4

    文章

    956

    浏览量

    31007
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SASETalk | 从车辆工程到ASIL D芯片安全:一位年轻工程师的成长进化论

    “SASETalk”是磐时打造的深度访谈栏目,通过与企业内资深技术专家对话,记录他们亲历的技术历程与行业观察,从个人视角解读行业发展变迁,共同探讨未来技术趋势与工程师成长路径。本期嘉宾PROFILE
    的头像 发表于 04-02 18:03 2181次阅读
    SASETalk | 从车辆工程到ASIL D芯片安全:<b class='flag-5'>一位</b>年轻工程师的成长进化论

    海康威视推出基于自研观澜工业大模型的包装配件AI质检

    今天,给大家介绍一位“新同事”,TA就是海康威视新上岗的包装配件“AI质检”,这位“新同事”来头可不小——“背靠”海康观澜工业大模型能力,即使面对海康威视工厂配件包装体量大、规格多变的复杂场景,也能精准识别配件错放、漏放问题并实时拦截风险。
    的头像 发表于 02-02 10:03 948次阅读

    Claude Code在国内怎么使用?AI编程人员必看的完整指南!

    这两年,AI编程工具层出不穷,但最近 Claude AI 在程序开发者圈子里备受欢迎,越来越多程序员发现使用Claude的体验非常接近“个懂工程的搭档”,而不是简单的代码生成器。 但
    的头像 发表于 01-23 14:09 5937次阅读
    Claude Code在国内怎么使用?AI<b class='flag-5'>编程</b>人员必看的完整指南!

    如何成为编程高手

    注释了,如果注释和代码不致,那就更加糟糕。   8、韧性和毅力   这也许是“高手”和程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是
    发表于 12-29 06:57

    大理的AI野心藏不住了——风花雪月中千名程序员探讨人工智能

    2025 年12月4日至6日第二届CCF程序员大会暨大理人工智能与应用国际开发者大会在大理圆满落幕。
    的头像 发表于 12-24 17:45 892次阅读
    大理的AI野心藏不住了——风花雪月中千名<b class='flag-5'>程序员</b>探讨人工智能

    程序员最常见谎言

    了。 28我已经测试过了,这个功能没问题,可以上线了。 29别担心,这个问题很快就能解决。 30代码快写完了,已经完成 90% 了 。 希望大家对程序员些容忍以及谅解! 各位程序员你们都被我说中了哪些?说说你们的观点
    发表于 12-10 08:24

    Unix的相关知识

    1 Unix哲学 Unix 哲学注重实效,立足于丰富的经验,并不会在正规方法学和标准中找到它,它更接近于隐性的半本能的知识。Unix程序员在探索开发的过程中积累的经验,非Unix的程序员
    发表于 12-10 07:13

    编程序段的定义介绍

    已经由操作系统自动设置为代码段的段基址,数据段的段基址则需要程序员手动装入DS中; ASSUME伪指令用于指定每个数据段所对应的段基址寄存器。如上面的代码中CODE段的段基址寄存器为CS,DATA段
    发表于 11-21 08:19

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 962次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 860次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    星光不负,码向未来:1024致敬每一位“以码为梦”的鸿蒙开发者

    行代码,都是照亮数字世界的颗星;每个梦想,都值得被温柔以待。这不是场简单的庆祝,而是次真挚的致敬。在1024
    的头像 发表于 10-24 18:47 350次阅读
    星光不负,码向未来:1024致敬每<b class='flag-5'>一位</b>“以码为梦”的鸿蒙开发者

    无法在调试中连接到PSOC4怎么解决?

    您好,我有块使用 PSOC4 CY8C4013SXI-410 制作的小板。非常简单的设备,它只有三个 GPIO 引脚并通过 5 引脚 SWD 进行编程。我遇到的问题是程序员能够看到该设备但无法对其进行
    发表于 07-22 06:02

    跟老齐学Python:从入门到精通

    础的学习者介绍门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获
    发表于 06-03 16:10

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    Vim编辑器的基本操作

    在代码的世界里,效率是永恒的追求。无论是新手开发者还是资深工程师,都渴望拥有款能让自己如虎添翼的编辑器。而在Linux生态中,有款被无数程序员奉为神器、被誉为“效率之王”的编辑器—
    的头像 发表于 05-06 13:41 1447次阅读
    Vim编辑器的基本操作