从最简单基本开始 or 把问题复杂化还自诩为“设计了一个可扩展的系统”?

文章目录

Intro

刚才看了一段关于在苹果系统中使用numbers表格软件制作记账本的视频教程:当 Excel 交给苹果来设计会变成...?#Numbers 新手教学,以下为最终界面效果:

有些触动,在该段视频中:

对重点操作步骤的讲解言简意赅

对numbers表格软件的使用知识点的讲解长驱直入

程序员"把问题复杂化"的职业病

很早以前我就想自己开发一个web版的记账本软件(好几年前,但可以确定是在2019之后),至今未开始。

不禁想,怎么还没开始?

因为我把问题复杂化 了。我考虑的太多了,以至于我不能从最简单且必要的功能点开始

把问题复杂化 的原因我也想到了:

程序员在设计系统的时候,一定会被要求:要考虑到系统的可扩展性。

哪怕是刚入行的程序员,哪怕是一个临时系统,哪怕大家都确定这个系统不会有第二个人去开发,更不会有下一个版本。

依旧会被要求考虑系统的可扩展性。

部分证据参见设计模式,这是一个程序员甚至在还没毕业的时候,就要学习模仿的编程方向/模范。

哪怕是计算 1+1 的和,你也不能直接输出print(1+1),而是设计类、设计方法、设计对象......考虑系统的可拓展性。

如何抉择

我没法说解决,暂时没有通用的解决方式。关于:

到底是从简单基本开始,还是从身负重托开始?

折中。
没有两全,只有折中。

先用最少的代价出一个能运行的成果。

然后基于此,去设计更多,去添加可拓展性。

从简单开始,复杂设计在其后。

相关推荐
梁辰兴13 小时前
软件工程:系统设计
软件工程·设计原则·系统设计·设计工具·设计方法·梁辰兴·设计阶段
郝学胜-神的一滴4 天前
《C++11 工程级应用01:告别冗长类型,开启简洁高效编码新时代》深度解读
开发语言·c++·算法·软件开发·系统设计
thesky1234564 天前
智能体面试准备(五十二):大厂面试实战——系统设计/简历包装/30天冲刺
大厂面试·系统设计·智能体·面试实战·简历包装·30天冲刺·axb协同
阿崽meitoufa6 天前
共享会话存储
系统设计
万亿少女的梦16814 天前
基于Spring Boot、Java与MySQL的同城宠物服务系统设计与实现
java·spring boot·mysql·系统设计·协同过滤
书香门第17 天前
系统设计练习 - 分布式黑名单服务(design a distributed denylist service)
分布式·系统架构·系统设计
doiito20 天前
【Agent Harness】Gliding Horse 最新升级:把“智能闭环”真正跑通的一次深度优化
rust·架构设计·系统设计·ai agent
doiito24 天前
【Agent Harness】流马(Gliding Horse)DeepSeek Responses API 接入介绍
rust·系统设计·ai agent
万亿少女的梦16824 天前
基于微信小程序、Express与MongoDB的校园失物招领系统设计
mongodb·微信小程序·node.js·express·系统设计
doiito1 个月前
【AI 推理】在 Rockchip NPU 上实现 MoE 大模型流式推理的技术方案
ai·系统设计