死循环

死循环

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

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

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

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

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

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

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

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

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


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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 最新版java安装教程[通俗易懂]

    最新版java安装教程[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、官网下载jdk二、环境配置测试前言2021java的新版安装教程:与之前的安装教程相比还是有一些改动的,省去了一些不必要的繁琐的步骤,简洁而又实用。下面是详细的安装教程,只要按照此教程逐步配置,就可以成功安装java环境。一、官网下载jdk到官网https://www.oracle.com/java/technologies/javase-jdk13-downloads.html下载下载完成解压到

  • call undefined function openssl_cipher_iv_length

    call undefined function openssl_cipher_iv_length

    2021年10月20日
  • 迅雷php文件怎么打开_php生成短链接

    迅雷php文件怎么打开_php生成短链接我正在使用TCPDF来创建简单的pdf文档.我正在创建一个页面并使用下面的代码添加链接$pdf->addTOCPage();$link=$pdf->AddLink();$pdf->SetLink($link,0,-1);现在链接设置成功.但是要导航到该页面我应该添加什么?我试过下面的代码,但它什么也没做,<ahref=“#Whattoaddhere”style…

  • oracle 查看所有表和视图

    oracle 查看所有表和视图查看所有表:select*fromall_tables查看所有视图:select*fromall_views

  • BeanCopier类[通俗易懂]

    BeanCopier类[通俗易懂]网上学习了一番BeanCopier类。cglib是一款比较底层的操作java字节码的框架。下面通过拷贝bean对象来测试BeanCopier的特性:publicclassOrderEntity{privateintid;privateStringname;//Gettersandsettersareom…

  • pycharm配置pytorch的坑以及解决方案「建议收藏」

    pycharm配置pytorch的坑以及解决方案「建议收藏」1.好像不支持python3.8。直接从setting里面安装时不行的,按其它教程(https://blog.csdn.net/lyz21/article/details/104295042)从官网https://pytorch.org/get-started/locally/,拷贝链接用pip下载,一直报找不到版本。后来发现,python3.8的原因,改成python3.7可以了,但会一直连接超时。2.发现要下载的其实是这两个文件:点开下面的两个链接,用下载软件下载了,我下到了e盘,直接pip

发表回复

您的电子邮箱地址不会被公开。

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