
获得徽章 0
- “公式:D = (Vn + Vf)/(Ei + Em)
其中:
D:可取程度
Vn:当前价值
Vf:未来价值
Ei:实现成本
Em:维护成本
未来价值和维护成本都取决于时间。。。一般来说,软件系统都需要维护很长时间,大多数情况下,未来长期收益和维护成本才是真正需要考虑的。与之相比,当前价值和实现成本变得无足轻重。
如果我们忽视事实,放弃对未来的思考,只考虑当下“能用”的软件,那么我们软件在未来就会很难维护。如果软件很难维护,就很难确保它能够帮助别人(而这正是软件设计的目标)。
相比短期,长期的未来对我们来说更重要,因为我没打呢的是决策会在未来更长的时间里产生更大的影响。
在软件设计时,可以根据已知的信息做某些决策,目的是为了创造更好的未来(提升价值,降低维护成本),而不必预测未来究竟会发生什么具体的事情。
-- 来自《简约之美:软件设计之道》”
很多事情我们都需要把时间一同考虑进去:比如蛀牙会随着时间的推移可能会导致后面整个牙都拔掉,但是有的人缺忽视了时间的作用,一拖再拖导致最后要把整颗牙拔掉,所花费的金钱远大于补牙;再比如基金可能会长期持有才会有一个比较好的收益,但是有的人在看到一跌再跌就忍不住立刻杀跌,因为对行业后面的发展没有主动去关注,更没有自己的想法。而后面再回来看的时候基金又涨回去了。。
软件开发也是如此,我们不仅仅需要解决当下的难题,还要考虑当前的设计在未来的可维护性(也包括可扩展性)。我们不能仅图一时时快,为了应付需求,设计最求短平快,给未来毫不留余地。
我们应该在动手写代码之前要多考虑一下当前设计的可维护性,可扩展性,也就是这个设计在未来会带给我们多大的便利和好处,而不是一步一步让它把我们推向无尽的深渊。展开评论8 - 在今天的开发者大会上,谷歌发布了一款面向iOS和Android开发者的全新开发工具——ML Kit,能让开发者将谷歌预建的机器学习模型集成到APP上,这些模型支持文本识别、脸部识别、条形码扫描、图像标记、地标识别、智能显示等功能,且支持在线和离线两种模式。
地址:developers.google.com
展开434