程序员从挫败中吸取经验,不断进步,本文介绍我亲身经历的9个经验教训。
这是戈登·贝尔的名言,这里要吸取的经验教训是,你应该设计尽可能简单的系统或软件,降低复杂性以减少bug的数量。
有时候你修复了一个bug,但不明白问题是怎么解决的。相信大多数程序员都经历过这种情况。确保你理解自己的代码,找出为什么这个修复起了作用。
刨根问底的心态比什么都重要,在必要的时候要虚心求助,保持这种态度,不知不觉中你已经成为人们转而求助的对象。
复制粘贴代码也是如此。我们都用过Stack Overflow,复制粘贴别人的代码,这没什么丢脸的,但是如果你不理解代码,要么不要使用它,要么向别人寻求帮助。
使用你不理解的代码被称为voodoo Coding,这几乎保证了将来一定会发生bug.
注释在源代码中非常重要,但如果可以的话,不要使用注释,而是编写更具描述性的代码。
为什么?
因为修改代码时往往会忘记更新注释。我的观点是:注释有时候会说谎(不正确),它们无法与最新的代码相匹配。
三种常见的代码文档是:
让我详细说明最后一点,这就是我所说的写更具描述性的代码:
当处理文本问题时,有些人会想:“我知道,我用正则表达式!“,现在他们有两个问题。
这是个老笑话,但却是真的。正则表达式很难用,当你解决了一个特定的问题,再用相同的方式解决下一个问题时很可能会失败。
当然这只是我的观点,但我建议避免复杂的正则表达式。通常像split、substring、endsWith、indexOf等函数的组合可以解决大多数问题,并得到可读性更强的代码。
《Cathedral and the Bazaar》是一本对比两种不同开发模式的书,正如维基百科所说:
在大教堂模式中,每个软件版本都有源代码,但在不同版本之间开发的代码仅限于一组专用的软件开发人员。
Bazaar模型,很多程序员通过网络参与开发,Linux内核项目的领导者Linus Torvalds被认为是这种模式的创始人。
两种模式各有利弊。人们普遍认为,软件是一个迭代开发的产品,在开发过程中,功能是逐渐增加的,用户最好从一开始就参与到开发过程中来。
我喜欢这个命题,它强迫项目领导人深入思考:
软件工程中有三个难题:
对于计数,人类从1开始,计算机则从0开始。这个简单的事实已经成为无数错误的根源,你可能已经犯了差一错误,就算现在没有将来也会遇到。
最好的软件可以处理所有的错误,即便是那些“永远不会发生”的事情。
大多数软件都是为了实现“快乐流”而编写的,在这个过程中,一切都按预期工作,用户不会做奇怪的事情。但现实世界充斥着混乱,随着时间推移,可能出错的东西一定会出错。所以尽量捕捉尽可能多的错误,尤其是当你的软件即将要添加一项关键的功能。
代码行数与项目进度无关,同样道理,写更多的代码不意味着工作效率或项目质量越高。
最好的代码往往只需要用最少的行数解决问题,请记住一个著名的原则:KISS,Keep It Simple,Stupid.
如果您想了解更多关于软件工程最佳实践的知识,可以继续阅读我的文章:The 12 Habits of Highly Effective Software Developers。
原文出处:Medium
作者:Erik van Baaren
原文标题:9 Programmer Life Lessons You Must Experience Yourself to Truly Understand
你们的点赞和收藏是我们最大的创作动力,我们每天都会为大家带来数据科学和量化交易领域的精品内容。
蜂鸟数据:开源金融数据接口,一个API连接世界金融市场。
蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个开源的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。
浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。
蜂鸟数据API接口文档
登录蜂鸟官网,注册免费获取API密钥
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态