上周,2023年,我那个朋友在成都参加了一个编程马拉松,100多个程序员参赛,复杂度确实提升了不少。他抱怨代码调试到崩溃,算了,你看着办吧。
说起来这复杂度提升啊,得追溯到2012年那会儿,我还在一家做问答平台的初创公司混日子。那时候,我们那点功能,简单得就像是个小孩子的玩具,问个问题回答个问题,那叫一个轻松。后来啊,2015年,移动互联网火起来了,用户需求也跟着水涨船高,我们开始加功能,搞个性化推荐,结果就发现,系统越来越复杂。
我记得有一次,我花了整整一个周末去调试一个算法,那时候的机房里热得跟蒸笼似的,我一身汗,手头上那个代码啊,看着都头疼。我这边刚解决一个bug,那边又冒出来几个,感觉就像是无底洞一样,永远填不满。说实话,我当时也没想明白,这复杂度提升,到底是为了啥。
后来,我参加了一个技术论坛,在2016年的那次大会上,有个专家讲了一个数据,说当时市场上问答平台的复杂度提升了60%,这让我吓了一跳。60%啊,这可不是个小数字,用的人多了,对系统的要求也就高了,得保证用户提的问题能快速找到合适的答案,这中间的学问可大了去了。
现在想想,那段时间真的是挺痛苦的,不过也让我学到了不少东西。现在的问答平台啊,功能多样,算法复杂,用户体验也是越来越好,不过吧,有时候还得提醒自己,别让这复杂度变成了一道难以逾越的鸿沟。
上周有个客人问我,为什么现在很多软件都变得越来越复杂了?我那时候就挺好奇的,因为这事儿我也在思考。
我自己踩过的坑是,前几年我用过一个特别复杂的办公软件,功能强大是强大,但操作起来真是让人头大。我记得那时候我在北京,花了整整一天时间才学会怎么用。后来我就在想,这复杂度提升到底是为了啥?
我猜啊,可能是因为现在科技发展得太快,软件公司得跟上时代的步伐,把所有能想到的功能都塞进去。就像我之前在杭州参加的一个技术论坛上听说的,现在的软件设计就像是在做一道大杂烩,把各种技术、功能、用户体验都混在一起。
不过,这复杂度提升也带来了一些问题。比如,用户学习成本高了,容易用错功能,甚至有时候还会误操作导致数据丢失。我自己就遇到过好几次,操作失误导致工作延误。
反正你看着办吧,我觉得软件设计还是应该以人为本,先考虑用户的需求和习惯,别把复杂度搞得太高。我还在想这个问题,你觉得呢?