一位 20 年老程序员分享的编程经验热门了
发布时间:2022-03-31 15:00 所属栏目:15 来源:互联网
导读:一位 20 年老程序员分享的编程经验突然火了,在 Hacker News 上,一天之内就收获了 467 热度。 一种有代表性的观点是: 大体上同意,但我发现要真正完全理解一个问题,还是至少要先写一个解决方案。 因为当我把一个问题分解成可编码的组件时,我学到了很多;
一位 20 年老程序员分享的编程经验突然火了,在 Hacker News 上,一天之内就收获了 467 热度。 一种有代表性的观点是: 大体上同意,但我发现要真正完全理解一个问题,还是至少要先写一个解决方案。 因为当我把一个问题分解成可编码的组件时,我学到了很多;在实际实现这些部分的过程中,我经常发现边缘情况或未定义的情况;现实情况下,真正的问题是什么,通常在开始并不清楚。 但也有一些网友认为:对于小型的、偏算法的问题,先在纸上或脑海中过一遍,比上来就写代码有效率的多。emmm…… 这样讨论下去简直成了“先有鸡还是先有蛋”。这个问题看来不会有确定的答案了,不过这篇经验分享整体上还有更多有价值的观点。 下面让我们具体来看看吧。 1. 不要与工具作斗争 所谓工具,包括库、语言、平台等。尽可能多地使用原生的开发方式。这样可以保证程序或软件的数据都存在于本地,能够及时检索,保证程序或软件的合作速度和流畅度。不要被技术捆绑,也不要被问题捆绑。应该为工作选择合适的工具,而不是为了工具寻找合适的工作。 举个例子:编程实现在一个文件中找到给定单词出现的位置并统计出现次数。如果用 C++ 写的话需要 92 行代码,而使用 Python 的话只用 26 行代码就可以完成了。 2. 写让人可以看懂的代码 程序员们不是为机器编写代码,而是为了同行们和未来的自己编写代码。写代码的终极目标往往是完成一个项目或给后来者作为参考。 3. 善于合作 任何重要且有价值的软件都是协作的结果,有效沟通和公开合作很重要。能用众智,则无畏于圣人矣。 4. 对各模块分而治之 编写相互联系却又彼此保持独立的单个模块。先分别测试每个部分,然后一起集成测试。既要保证测试接近实际,也要测试边缘实例。 5. 敢于分享自己的原创代码 一个程序员不要成为那位唯一明白某段代码的人。可以对自己的原创代码进行优化,以便人们找到修复 Bug 的方式,和向代码添加功能的方法。这样也能使程序员自己轻松点,以早点进入下一个项目或公司。想要提高水平的话,不要使一段代码仅自己可见。 6. 安全是分层的 分层安全是一种应用多种安全措施的实践,每一层都与前一层和下一层重叠,以创建一个安全控制网络,这些网络可以一起工作以保护技术系统。每一层都需要单独评估,但也需要与整体相关。 7. 代码也有生死 要认识到,每段代码都有一个生命周期,并且会最终失效。有时,一段代码甚至还没上线发布就被废弃了。程序员要学会放手,弄明白 4 类特征的区别,然后想清楚应该在哪些方面投入时间和精力: 核心:就像汽车的引擎。没有它,产品就没有意义。 必要之处:就像汽车的备用轮子。它很少被使用,但当需要时,它的功能决定了系统的成功。 附加值:就像汽车的杯座。有它很好,但产品没有它也完全可用。 独特卖点:人们应该购买你的产品而不是你的竞争对手的主要原因。 8. 保护好个人信息 程序员不要将个人身份信息附加到代码中,也不要把其他人的身份附加到他们的代码上。人是独立于他们的工作产出物之外的。不要把对代码的批评当成是针对个人的,当然也在批评他人的代码时也要谨慎。 9. 尽量规避技术债务 技术债务是开发团队在设计或架构选型时,为了快速地解决问题,而采取的不规范的方案。偶尔的技术债务是可以接受的,但如果长期负债往往会快速地扼杀产品。 10. 不要盲目跟风 可以去了解热炒的新技术,但不要被拽着走,要坚持自己对技术的品位。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读