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

文章目录

Intro

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

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

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

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

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

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

不禁想,怎么还没开始?

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

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

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

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

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

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

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

如何抉择

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

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

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

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

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

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

相关推荐
努力的gopher13 天前
ubuntu22.04 安装卡住
问题解决
垚森14 天前
【问题解决】关于log4j与logback依赖冲突的解决方案
log4j·logback·问题解决·依赖冲突
BIBI204916 天前
Nginx 反向代理完全入门:从一个真实场景开始
nginx·部署·配置·问题解决·服务器运维·web 开发·web 服务器
utmhikari1 个月前
【架构艺术】简述LLM增强产品研发角色
ai·架构·llm·agent·产品经理·系统设计
記億揺晃着的那天2 个月前
数据库中 ACID 四个核心特性
数据库·mysql·oracle·系统设计·acid
utmhikari2 个月前
【架构艺术】自动化测试平台架构设计的一些通用要点
自动化测试·功能测试·测试开发·架构·测试·系统设计·后端开发
真智AI3 个月前
[特殊字符] AI时代依然不可或缺:精通后端开发的10个GitHub宝藏仓库
人工智能·github·系统设计·后端开发·github资源·编码实践
逼子格4 个月前
Altium Designer(AD)原理图更新PCB后所有器件变绿解决方案
单片机·嵌入式硬件·硬件工程·问题解决·ad·pcb·altium designer
卷心菜不卷Iris6 个月前
第4章唯一ID生成器——4.1 分布式唯一ID
java·分布式·系统设计·场景题·分布式唯一id
大咖分享课6 个月前
如何设计一个软件项目管理系统:架构设计合集(六)
软件架构·系统设计·数据库设计·技术选型·项目管理系统设计