写点什么

干了 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:283404
用户头像

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

关注

评论 3 条评论

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

(全新升级AlDente - 电荷限制器) AlDente Pro for mac v1.28.2 兼容macos15系统

理理

专业的园林设计软件Garden Planner下载含Garden Planner激活码

理理

Java音视频文件解析工具

江南一点雨

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.7 发布下载,新增功能概览

sysin

负载均衡 Lab nsx

Zabbix 2024 中国峰会在上海举办,Databuff 携最业界领先研发成果重磅亮相

乘云数字DataBuff

故障定位 zabbix 峰会

从数据中台到数据飞轮:企业数字化战略的新范式

不叫猫先生

数据中台 数据仓库 数据 数据飞轮

程序逆向反汇编修改神器:IDA Pro/x64dbg

理理

人工智能 | 基于ChatGPT开发人工智能服务平台

测试人

人工智能 软件测试

Things3 3.21.1 中文直装版 mac任务管理器

理理

TablePlus for Mac/win (本地原生数据开发软件)v6.0.0激活版

理理

【中文汉化版】W10 Digital Activation win10激活工具 win11激活

理理

macos苹果电脑深度清理卸载工具App Cleaner & Uninstaller 完美兼容苹果Sequoia 15系统

理理

Rhinoceros 8破解版 犀牛8中文直装版【Mac&win】

理理

万兆时代 TCP/IP如何赋能以太网飞跃

郑州埃文科技

TCP/IP 以太网

【堡垒机小知识】堡垒机常见运维方式你知道几种呢?

行云管家

网络安全 堡垒机 运维审计

随州等保测评机构在哪里?电话多少?

行云管家

等保 堡垒机 等保测评 随州

天猫商品详情数据API接口:解锁高效数据获取的钥匙

代码忍者

API 接口 pinduoduo API

面试官:单核服务器可以不加锁吗?

王磊

淘宝API接口:关键词搜索商品列表数据接口

tbapi

淘宝API接口 淘宝商品列表数据接口

鸿蒙NEXT生态应用核心技术理念:统一生态,原生智能

芯盾时代

鸿蒙 生态

概念回顾:现代应用架构中的数据平面、管理平面和控制平面

NGINX开源社区

读书笔记 开源 个人成长

百度Android IM SDK组件能力建设及应用

百度Geek说

聊天 IM sdk 安卓 即时通讯IM

技术解读 MySQL InnoDB 大对象存储格式

华为云开发者联盟

小间距显示屏方案的具体要求

Dylan

应用 LED LED display LED显示屏 效果广告

架构设计的悖论,复用是美好的还是邪恶的

阿里技术

阿里巴巴 中台 Supercell 代码复用 DRY原则

【Tomcat源码分析】启动过程深度解析 (二)

派大星

tomcat源码解读

淘宝商品详情数据api接口深度探索:解锁商品信息的全面视角

代码忍者

API 接口 pinduoduo API

数据飞轮:企业数字化转型的下一站风口

不叫猫先生

数据中台 数据仓库 数据 数据飞轮

TinkerTool System 9 for mac苹果电脑系统设置和维护工具 支持苹果mac15系统

理理

Pixologic ZBrush 2024下载 附ZBrush 2024破解补丁 三维数字雕刻

理理

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