文章目录
- Intro
- 程序员“把问题复杂化”的职业病
- 如何抉择
Intro
刚才看了一段关于在苹果系统中使用numbers表格软件制作记账本的视频教程:当 Excel 交给苹果来设计会变成…?#Numbers 新手教学,以下为最终界面效果:
有些触动,在该段视频中:
对重点操作步骤的讲解言简意赅。
对numbers表格软件的使用知识点的讲解长驱直入。
程序员“把问题复杂化”的职业病
很早以前我就想自己开发一个web版的记账本软件(好几年前,但可以确定是在2019之后),至今未开始。
不禁想,怎么还没开始?
因为我把问题复杂化了。我考虑的太多了,以至于我不能从最简单且必要的功能点开始。
而把问题复杂化的原因我也想到了:
程序员在设计系统的时候,一定会被要求:要考虑到系统的可扩展性。
哪怕是刚入行的程序员,哪怕是一个临时系统,哪怕大家都确定这个系统不会有第二个人去开发,更不会有下一个版本。
依旧会被要求考虑系统的可扩展性。
部分证据参见设计模式,这是一个程序员甚至在还没毕业的时候,就要学习模仿的编程方向/模范。
哪怕是计算 1+1 的和,你也不能直接输出print(1+1)
,而是设计类、设计方法、设计对象……考虑系统的可拓展性。
如何抉择
我没法说解决,暂时没有通用的解决方式。关于:
到底是从简单基本开始,还是从身负重托开始?
折中。
没有两全,只有折中。
先用最少的代价出一个能运行的成果。
然后基于此,去设计更多,去添加可拓展性。
从简单开始,复杂设计在其后。