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

文章目录

Intro

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

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

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

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

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

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

不禁想,怎么还没开始?

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

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

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

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

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

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

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

如何抉择

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

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

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

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

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

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

相关推荐
庄小焱5 天前
数据治理域——数据治理体系建设
大数据·数据治理·系统设计·数仓系统设计
编程在手天下我有11 天前
缓存:缓解读库压力的高效方案与应用实践
数据库·缓存·性能优化·软件开发·系统设计·技术架构
在未来等你11 天前
互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-2
java·微服务·ai·云原生·面试题·架构设计·系统设计
庄小焱12 天前
【2025软考高级架构师】——计算机网络(9)
软考高级·系统架构师·系统设计
LUCIAZZZ1 个月前
说一下分布式组件时钟一致性的解决方案
java·网络·分布式·计算机网络·操作系统·springboot·系统设计
时光追逐者2 个月前
学习如何设计大规模系统,为系统设计面试做准备!
学习·面试·职场和发展·系统设计
问北2 个月前
从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
消息队列·问题解决
庄小焱2 个月前
财务会计域——合并报表系统设计
系统设计·财务·会计域·数仓系统设计·财务会计域
Normal Developer3 个月前
应用的负载均衡
负载均衡·架构设计·系统设计
程序员古德3 个月前
《论企业集成平台的理解与应用》审题技巧 - 系统架构设计师
问题解决·实践应用·企业集成平台·理论认知·基本功能