10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

干了 6 年软件开发,我的那些变与不变的想法

  • 2021-02-07
  • 本文字数:975 字

    阅读完需:约 3 分钟

干了6年软件开发,我的那些变与不变的想法

随着时间的流逝,人们对某些事情的看法会不断改变。在软件开发这个行业,这个道理依然适用。作为一名程序员,Chris Kiehl 在工作 6 年后,他原有的许多想法有所改变,但也有一些保持不变的旧观点。

我对这些事情的看法改变了


以下这些事情,在过去,我会争论不休,但现在相信了。


  • 如果你所在团队成员的技术经验水平参差不齐,那么使用强类型的编程语言会更好。

  • 开站会对于关注新人来说其实很有用。

  • 只要是为了修正行动路线,那么 Sprint 回顾就很有用,这并不是为了“敏捷”而敏捷,浪费大家的时间。

  • 软件架构或许比其他任何东西都要来得重要。一个好的抽象层,即使它的实现像一坨屎,也不会给项目带来纯粹的伤害。但是,一个糟糕的抽象层会让整个项目烂掉。

  • Java 并不是一种很糟糕的编程语言。

  • 看似聪明的代码通常不是好代码。清晰度胜过一切。

  • 遵循任何一种范式都可能写出糟糕的代码。

  • 所谓的“最佳实践”是与实际情况相关的,并非广泛适用的。盲目追随它们会让你变成白痴。

  • 在非必要的情况下去设计一个可伸缩的系统,这会让你成为一名糟糕的工程师。

  • 静态代码分析非常有用。

  • DRY 原则是为了避免某些特定的问题,并不是其本身的最终目标。

  • 一般来说,RDBMS 好过 NoSQL。

  • 函数式编程是另一种可选的工具,但不是万能的。

这些年形成的新想法

  • 按照 YAGNI、SOLID、DRY 这样的顺序来。

  • 铅笔和纸其实是最好的编程工具,但却被忽视了。

  • 用纯粹性来换取实用性通常是个不错的选择。

  • 添加太多的技术很少会是一个好的选择。

  • 直接与客户沟通总是能以更少的时间和更高的准确性揭示出更多的问题。

  • “可伸缩”这个词对于软件工程师来说有着一种神秘而令人震惊的力量,足以让他们陷入一种堕落的疯狂。

  • 虽然开发者被称为“工程师”,但他们的大多数决策都是纯粹的货物崇拜(Cargo Cult),没有分析、数据或数字作为依据。

  • 90%(可能是 93%)的项目经理可能会在未来消失,因为他们不会带来效率上的提升。

  • 在做了 100 多次面试后,我发现面试这种形式彻底失效了,但我也不知道该如何让它变得更好。

那些保持不变的旧想法

  • 那些强调代码风格、lint 规则或其他细节的人都是疯狂的怪人。

  • 代码覆盖率与代码质量毫无关系。

  • 在大多数情况下,使用单体系统就可以了。

  • TDD 纯粹主义者是最糟糕的。他们脆弱的小脑袋无法容忍不同工作流的存在。


等到了第 10 个年头,我们再来看看哪些观点又翻转或发生了变化。


原文链接:


https://chriskiehl.com/article/thoughts-after-6-years

2021-02-07 10:283591
用户头像

发布了 114 篇内容, 共 50.8 次阅读, 收获喜欢 315 次。

关注

评论 3 条评论

发布
用户头像
在大多数情况下,使用单体系统就可以了.
2021-02-24 10:36
回复
用户头像
开发虽很想量化,但很难。
2021-02-08 09:24
回复
用户头像
以在国内从事软件开发十年以上的经验告诉我,先让程序跑起来比什么都重要。
2021-02-08 08:44
回复
没有更多了
发现更多内容

Path Finder for Mac:强大的文件管理工具

小玖_苹果Mac软件

Autodesk AutoCAD 2025 for Mac:专业设计,精准呈现

小玖_苹果Mac软件

FCPX插件: 专业分级调色插件 ColorFinale Pro for mac v2.2.8激活版

Rose

FCPX插件:3d摄像机效果3D Camera Rig

Rose

FCPX插件:Skin Smoother(皮肤平滑效果)

Rose

Capture One Studio for Mac:高效影像处理,成就专业作品

小玖_苹果Mac软件

智能制造:数字孪生赋予企业高质量发展

积木链小链

数字化转型 数字孪生 智能制造

特朗普总统签署命令建立比特币战略储备,将作为类似于诺克斯堡的价值储存手段

TechubNews

加密政策

fcpx插件:快速宽屏效果 Widescreen v1.1 中文激活版

Rose

FCPX插件:Reflections 反射效果

Rose

音乐NFT项目的运营和维护

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

【IoTDB 线上小课 12】平常的早晨,我们已经是时间数据管理大师?

Apache IoTDB

时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

TDengine

数据库 tdengine 时序数据库

DeepSeek与低代码:共创AI应用开发新生态,赋能未来创新

天津汇柏科技有限公司

人工智能 AI DeepSeek

Manus:AI Agent的未来,还是一场营销秀?

TechubNews

人工智能 AI 科技

两会热议零基预算改革,数智预算平台是有力“助推器”!

用友智能财务

2025年建议买的堡垒机品牌是什么?

行云管家

网络安全 等保 堡垒机 等保评测

Cookie for Mac:智能管理您的应用订阅

小玖_苹果Mac软件

Topaz Video AI for Mac:智能视频增强,画质提升新境界

小玖_苹果Mac软件

CCleaner Pro for Mac:优化系统,提升性能

小玖_苹果Mac软件

Capture One 23 Enterprise for Mac:高效影像处理,成就专业作品

小玖_苹果Mac软件

FCPX插件:XEffects 3D Transitions for Mac(3D视频转场效果) v1.2激活版

Rose

音乐NFT智能合约开发

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

教育行业过等保一般是几级?

行云管家

网络安全 等保 等保测评 教育行业

音乐NFT的线上运营

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

FCPX插件:超级慢动作变速插件Twixtor Pro mac版 v7.0.2激活版

Rose

MouseBoost PRO for Mac:提升鼠标操作效率的终极工具

小玖_苹果Mac软件

干了6年软件开发,我的那些变与不变的想法_语言 & 开发_Chris Kiehl_InfoQ精选文章