死循环

死循环

系统复杂度,是伴随着系统的不断进化逐渐产生的,事情的开始都是美好的。

系统的进化是件很有意思的事,不在这个行业的人不理解他们每天要用的各种软件为何这么复杂,需要这么多的工程师没日没夜的加班。所以在知乎上就有了这种问题:

“为什么很多看起来不是很复杂的网站,比如 Facebook 需要大量顶尖高手来开发?”
参看网址:https://www.zhihu.com/question/20303645

前淘宝员工,《淘宝这十年》的作者子柳还在这个问题后面后面做了挺通俗的解释。在他的答案后还有挺多答案。略过这些长篇文章的专业解释,结论其实就是事情做大了,很多之前你认为不是问题的东西都成了问题。

作为实际参与开发IT系统的人,很多程序员有一种倾向,喜欢一切尽在掌握中的感觉。如果理解不了,参考一下时下流行的工匠精神,百科对其的定义是:

工匠们喜欢不断雕琢自己的产品,不断改善自己的工艺,享受着产品在双手中升华的过程。工匠们对细节有很高要求,追求完美和极致,对精品有着执着的坚持和追求,把品质从99%提高到99.99%,其利虽微,却长久造福于世。

技术人员往往要在实际工作中能否彻底贯彻自己对于标准的要求进行不断地平衡,在各种工期倒排的恶劣情况下,还能不能维持对于高品质代码的追求,还有几天就是deadline了,测试代码还要不要写了,测试的覆盖度能不能达到,用户看不见的地方能不能做到更好。这种问题并不是软件行业的专利,我们每天都会遇到。比如厨房里的员工有没有严格遵守卫生的规章,4S店的维修技师有没有按照厂家的规定完整的做了每一道检查,保洁阿姨有没有清理了所有的卫生死角,以上描述的行为最终都指向专业素质-职业道德,而在中国很多行业监管缺失的情况下演变成了看良心,靠宗教上的理念让人相信下地狱,这里就不展开了,法律与道德还是留给社会学者去研究吧。

让我们回到软件,最初的软件系统开始都没有那么复杂,一开始都是简单的。一个有幸能存活超过一年的系统,如果恰好又迎来用户的爆发性增长,企业经营者与产品经理就会提出更多的想法让软件往预测的道路上走。这时有可能原来为10W用户设计的用户表就不能支撑了,要在业务爆发到500W用户的时候依然能保证不算太差的登录体验,偶尔创业公司并没准备好遇见到这种情况;如果业务线性增长对于技术人员倒是件好事,技术负责人能知道何时能遇到瓶颈,留给自己的时间窗还有多久,并开始进行合理的人才储备和技术储备,好吧,其实还是人才储备,东西都是人做的。

尽管如此,小而美的系统仍然是厌倦了大公司各种复杂系统,流程,部门的开发者的最爱,系统的每一块代码都知道是用来做什么的,出了问题马上就能推测出是在哪里出的问题。这只是个理想情况,当引以为傲的系统运行了以年为单位后,这个循环又开始了,后来者又开始往那个曾经小而美的系统上吐口水了。


文章来自微信平台「麦芽面包」
微信公众号「darkjune_think」转载请注明。
如果觉得有趣,微信扫一扫关注公众号。
图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109067.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android Studio 和 Gradle 优化配置总结

    Android Studio 和 Gradle 优化配置总结

    2021年7月3日
    146
  • Ubuntu10.04 下安装RabbitVCS

    Ubuntu10.04 下安装RabbitVCS安装RabbitVCS的方法步骤如下:1、sudoadd-apt-repositoryppa:rabbitvcs/ppa#将rabbitvcs的添加到源里面。(次操作会提示是否要添加到源里面,点击ENTER添加,ctrl+c不添加)2、sudoapt-keyadv–keyserverkeyserver.ubuntu.com–recv-keys34EF…

    2022年7月18日
    11
  • python提示AttributeError: ‘NoneType’ object has no attribute ‘append’

    python提示AttributeError: ‘NoneType’ object has no attribute ‘append’在写python脚本时遇到AttributeError:’NoneType’objecthasnoattribute’append’a=[]b=[1,2,3,4]a=a.append(b)执行一次后发现a的类型变为了NoneType。下次执行时就会出现如题所示的错误。把a=a.append(b)改为a.append(b)后问题解决。原因:append

    2025年6月5日
    3
  • pycharm安装

    以windows版本举例:1、首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows,下载P

    2022年3月29日
    59
  • python unittest接口自动化测试实战_pytest测试框架从入门到精通

    python unittest接口自动化测试实战_pytest测试框架从入门到精通一、unittest工作原理unittest最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixtureTestCase:用户自定义的测试case的基类,调用run()方法,会依次调用setUp方法、执行用例的方法、tearDown方法。TestSuite:测试用例集合,可以通过addTest()方法手动增加TestCase,也可以通过Test…

    2022年10月14日
    4
  • 前端开发代码编辑器_前端自动生成代码

    前端开发代码编辑器_前端自动生成代码目录前言CodeSandbox介绍多种模板代码选择VSCode一致体验运行Node容器CodeSandbox示例前言有时候需要经常写一些测试代码或示例,然后将这些代码分享给他人,少量的代码通过GitHub分享有点大材小用,而且他人要从GitHub上fork代码后,在本地用IDE打开,然后安装依赖、运行,这个步骤过于繁琐。因此使用在线代码编辑器就能解决上面说到的问题,CodeSandbox介绍我用过几个在线代码编辑器,如知名的CodePen,Jsfilddle和Jsbin也有使用过,对比起来,还是C

    2022年8月14日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号