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

文章目录

Intro

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

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

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

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

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

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

不禁想,怎么还没开始?

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

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

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

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

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

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

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

如何抉择

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

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

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

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

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

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

相关推荐
Ulyanov6 天前
基于ttk的Python现代化GUI开发指南
开发语言·前端·python·tkinter·系统设计
发际线还在12 天前
互联网大厂Java三轮面试全流程实战问答与解析
java·数据库·分布式·面试·并发·系统设计·大厂
arvin_xiaoting18 天前
从 0 到 1:搭建自学习 AI Agent 系统的完整工程指南
人工智能·学习·系统设计·ai agent·lancedb·自学习·openclaw
dreambyday1 个月前
短链系统设计
系统设计
Ulyanov2 个月前
高保真单脉冲雷达导引头回波生成:Python建模与实践
开发语言·python·仿真·系统设计·单脉冲雷达
资深web全栈开发2 个月前
高并发的本质:超越语言的协作哲学——以 Go HTTP 服务器为例
服务器·http·golang·系统设计·goroutine·高并发架构·go并发
utmhikari2 个月前
【极客日常】快速上手复杂后端项目开发的经验
ai·llm·知识库·系统设计·后端开发·rag
狐573 个月前
2026_01-16nvim插件codestatus配置记录.md
问题解决
BIBI20493 个月前
通过 Studio 3T 远程连接 CentOS 7 上的 MongoDB
linux·mongodb·centos·nosql·配置·问题解决·环境搭建
丘陵哈哈3 个月前
RBAC模型 VS 无角色模型
系统设计