国外大牛 Adam Fallon 十年软件开发的一些经验分享

经过了长达十年的编程生涯,我对于软件工程的理解和认识已经日趋成熟。在此,我想与大家分享一些对于编程的独到见解和心得体会,希望这些经验可以为你的编程之路提供一些参考。

在这里插入图片描述

首先,我发现有一个庞大而声音响亮的行业,致力于将复杂性加入到软件工程项目中。这种复杂性通常表现为无用的功能、繁琐的流程以及冗长的代码。这些都可能导致我们的软件过度复杂,难以维护和优化。因此,我建议尽可能避免这种复杂性,追求简洁、高效的设计和代码。

其次,我们需要明白,关于软件的 99% 的文字都是由那些尚未看到全貌,对此过于兴奋且信息不充足的人写的。这不仅包括一些技术博客,甚至也包括这篇文章。因此,在阅读这些资料时,我们应保持批判性思维,明确它们可能只是部分人的观点,不一定适用于我们的实际情况。

除此之外,我们需要尽量避免与编程相关但不涉及编写和测试代码的繁琐工作,例如过度的设计、无用的会议等。相反,我们应该更加专注于完成工作,编写可用的软件,并获取用户。

关于测试,我认为一旦代码库开始稳定,测试就变得非常重要。在这个阶段,通过测试可以有效地发现和解决问题,提高软件的质量。然而,在软件开发的试验阶段,我们可以暂时忽略测试,以便更快地进行试错和优化。

同时,你无法阻止某人"毁掉"你的代码库。但你可以责怪自己没有设计防护措施来阻止这种事情发生。因此,我们在设计和编程时,需要考虑到这种可能性,预先设置好防护措施。

我还发现,选择并坚持一个技术栈非常重要。我选择了 React(Web)、NodeJS(后端)、Postgres(数据库)和 React Native(移动端)。这套技术栈可以满足我几乎所有的需求。因此,我建议你找到适合自己的技术栈,并坚持使用。

另外,我建议大家多做辅助项目。这不仅可以提升我们的编程技能,还可以
帮助我们更好地理解和运用新的技术和工具。例如,你可以试着完善从数据库拉取的 JSON 数据列表的展示,这种练习将大大提升你的技能水平。

在编程范式的选择上,我认为函数式并不比命令式更优,它只是编写软件的另一种方式。因此,我们不应该成为任何一种编程范式的狂热者,而应该根据实际需求和情况,灵活选择适合的编程范式。

当然,我们也应该明白,并非所有的高级(及以上级别)软件工程师都是一样的。我们需要警惕那些只是凭资历而非真正技能和经验的工程师。同时,我们也需要明白,一分钟的规划等于一小时盲目编码的价值。因此,在开始编程前,我们应该花时间进行充分的规划和设计。

在我看来,所有好的软件都是在 70 年代编写的,从那时以来,软件的质量似乎一直在下滑。我想,这可能是因为我们过于追求新的技术和工具,而忽视了软件的本质和基础。因此,我建议大家在追求新技术的同时,也不要忘记软件的基础和本质。

在交流和合作中,我认为安静总比喧闹好。我们需要学会在合适的时机与他人分享我们的想法和成果,而不是随意地说出来。这样,我们的想法和成果才能得到真正的重视和尊重。

最后,我想说,在编程领域中,不应该轻易改变使用的技术栈或工具,只为了追求一些微小的好处或瞬间的满足感。同时,我发现,真正的好工程师都很谦逊,他们喜欢学习,喜欢分享,是我们值得学习和借鉴的榜样。

以上就是我在编程十年的一些心得体会,希望对你有所帮助。当然,每个人的经验和心得都会不同,我也期待你能分享你的见解和体验。

注: 本文根据 : https://adamfallon.com/programming/software-engineering/2022/09/09/some-thoughts-on-my-first-ten-years-of-programming.html 改编而来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59203.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

270亿参数的“中文版GPT-3”来了!阿里达摩院发布超大规模语言模型PLUG

自18年谷歌BERT横空出世以来,预训练语言模型一跃成为自然语言处理领域的研究热点,海量数据与大规模模型的预训练少量下游任务数据微调(Pre-training Fine-tune)也成为NLP任务的新范式。从在开源数据集上进行评测到业务实践中的价…

阿里达摩院TableQA技术让表格说话

作者:水德 在过去两年时间里,阿里达摩院对话智能团队(Conversational AI)围绕 TableQA 做了一系列探索,先后在四大国际权威榜单上取得第一名,并且开源了首个中文预训练表格模型。同时,把 Table…

阿里达摩院开源DAMO-YOLO:超越了一众YOLO系列方法

向AI转型的程序员都关注了这个号👇👇👇 1.简介 DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速度。DAMO-YOLO是在YOLO框架基础上引…

坐拥270亿参数!阿里达摩院发布超大规模语言模型PLUG,上能写诗词歌赋、下能对答如流...

作者 | 马超 出品 | CSDN(ID:CSDNnews) 日前,阿里达摩院发布了最新中文预训练语言模型 PLUG,在 PLUG 生成的各种诗歌与小说中,不时灵光闪现式的金句、妙语令人啧啧称奇。 但是以笔者从业多年的经验看&#…

如何在html中插入背景音乐

注:本方法是通过外链的方式插入背景音乐 1.搜索网易云音乐 2.选择一首音乐,也可以登录后查看自己喜欢的音乐 3.点击生成外链播放器 4.有的歌曲会有权限保护,无法生成外链,这是缺点,我们选择另一首歌 5.可以看到如下代码,不建议使用flash插件,毕竟谷歌浏览器禁用了,影响体验,默…

虚幻4为场景添加背景音乐的三种方法

根据官方文档介绍,虚幻在场景当中添加音乐有三种方法,我这里也不知道它到底支持哪些音频,反正导入mp3文件不好用,改成wav文件就没问题了,所以大家在导入文件的时候尽量使用wav文件,就不要使用其他的音频文件…

关于如何在html网页中插入可以自动播放的背景音乐

昨天想做一个带有自动播放背景音乐的html网页,频繁碰壁,最后终于找到问题所在: 一般大家会考虑到audio标签,然后在标签里使用autoplay。理论上是可以的,但是一定要注意浏览器的设置,浏览器一般会自动阻断背…

H5背景音乐解决方案

前言背景音乐播放 1 自动播放 1 微信问题2 Safari问题3 解决方案代码 2 点击播放 离开页面关闭音乐缓存状态 1 客户端存储数据方法2 示例 完整解决方案代码 1. 前言 很多H5的项目会用到背景音乐,虽然是很小的一个模块,但是有不少的坑。本文总结了背景音…

【向生活低头】如何在Gold Wave软件中为声音添加背景音乐

很奇怪,百度了很久,找到的方法都不可以用(都用的混响),但大家又都很统一,我感觉很奇怪。 最后,我找到了这个视频,(用的混音)这次终于可以了。 记录&#xff0…

告别枯燥,ppt背景音乐怎么设置?

大家用过ppt吗?在办公软件中,ppt最常用到的就是在于广告宣传这方面,因为ppt里面的各种元素都能让你的宣传更加灵动。ppt背景音乐怎么设置?在制作ppt的时候,当表面因素勾勒得差不多时,如果设置一个背景音乐可…

chatgpt赋能python:Python如何减慢输出速度

Python如何减慢输出速度 Python是一种高级编程语言,被广泛应用于数据分析、人工智能和Web开发中。在这里,我们将探讨一种方法,即如何减慢Python的输出速度,从而进行更有效的调试和优化。 什么是Python的输出速度? 在…

【观察】数据分析还能这样玩?《事业告急——月老KPI下降分析》的“制胜秘籍”...

谈起去年参加2022帆软数据分析大赛时,新希望集团BI项目经理林家喜仍然“记忆犹新”,凭借参赛作品《事业告急——月老KPI下降分析》,他带领的团队在193份参赛作品中“脱颖而出”,斩获了大赛的“最佳展现创意奖”。 事实上&#xff…

AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot

为什么Chatbot需要大语言模型向量数据库? 这个春天,最让人震感的科技产品莫过于ChatGPT的横空出世,通过大语言模型(LLM)让人们看到了生成式AI能实现到和人类语言高度相仿的语言表达能力,AI不再遥不可及而已…

ModaHub魔搭社区:如何基于向量数据库+LLM(大语言模型),打造更懂你的企业专属Chatbot?

目录 1、为什么Chatbot需要大语言模型+向量数据库? 2、什么是向量数据库? 3、LLM大语言模型+ADB-PG:打造企业专属Chatbot 4、ADB-PG:内置向量检索+全文检索的一站式企业知识数据库 5、总结 1、为什么Chatbot需要大语言模型+向量数据库? 这个春天,最让人震感的科技产品…

Photon AI Translator 和做产品的一些思考

近 4 个月内我一直在做 Apple 平台的产品,虽然从使用量来说「简体中文」用户是占多数,但我一直有做多语言的支持:英语、简体中文和繁体中文。习惯上 Google 翻译的我,基本上在使用 Xcode 过程中也会一直在浏览器开着 Google Trans…

大一新生调查报告——新生遇到的问题与需求

小组成员: 信通6班何若溪(人际关系主题),章玉(学习压力主题),袁博秋(思乡主题) 信通7班梁凌(信息整合与报告制作) 信通8班夏姝婷(时间…

基于PHP的大学生问卷调查系统

一 项目介绍 基于PHP的大学生问卷调查系统 数据库mysql ,可搭建在phpstudy下,实现快速部署! 二 主要功能 用户 1 登录 2 填写问卷 管理员 1 登录 2 问卷/问题(增删改查) 3 问卷统计结果(按选择结果百分比显示) 4 问卷回收情况(参与用户和未…

大学生社团管理系统数据需求(二)

目录 前言 一、用户、管理员登录业务数据流图 二、用户、管理员修改信息业务数据流图 三、用户申请社团数据流图 四、用户报名社团活动数据流图 总结 前言 上次我写了大学生社团管理系统的数据字典,列出了主体及他们的内容,今天我想分享一下我画的…

广告行业中那些趣事系列64:低成本训练一个媲美ChatGPT效果的Vicuna模型

导读:本文是“数据拾光者”专栏的第六十四篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇主要从理论到实践介绍低成本训练一个媲美ChatGPT效果的Vicuna模型,对于希望搭建自己的大语言模型并应用到实际业务场景感兴趣的小…

618,你会入手哪些书?【文末送书】

好书分享 前沿技术人工智能半导体新一代通信与信息技术网络空间安全参与规则 一年一度的618又到啦!今年的618就不要乱买啦,衣服买多了会被淘汰,电子产品买多了会过时,零食买多了会增肥,最后怎么看都不划算。可是如果你…