• 关于软件工程的一点想法


    一。吐槽部分:

    先说一下结论吧:现行的软件工程方法,无法真正提高软件行业的生产力

    软件工程既然叫“工程”,那就必须接受一个事实,软件,只是一种比较高端的工业品,他可以被创造,可以被磨损,可以被消耗,可以被抛弃。
    他应该被设计者设计,然后被制造者制造。
    他的生产过程和药膏,牙刷,花洒,螺丝的生产意义是一样,没有什么特殊之处,
    任何把软件看做是艺术,工艺品的思想早晚会被这个客观事实无情的击碎。

    现行的软件工程方法都是企图仅仅通过一种“思想方式”来提高软件的质量。
    说到底。不管这个思想再好。再漂亮,也只不过是一种方法论。
    但是这些美好的思想约束的对象是谁那?

    是人。

    是一个个活生生的人。

    而人有一个重要的特点就是,人的行为是不可靠的。

    如果人是可靠的,那就不会有墨菲定律了。

    软件工程的众多方法企图用一些可靠的方法论来约束不可靠的人。

    这种想法本身就只是一种美好的愿望,仅此而已。

    这也是现在老说“敏捷已死”的根本原因,因为敏捷这个理论的根基根本就是飘在空中的,因为他不符合客观规律。

    要解决敏捷想要解决的问题,你得去解决你的用户,而不是更变你的开发过程-这本身就是不现实的。

    你想买车。好车,好开,省油,有推背感。想法都很好,但就一个问题,汽车上会根据你的需求给你定制汽车去吗?
    不会,你只能在现有的型号里面挑比较符合你需要的车型。

    人们渴望代码的可靠性与写代码的人的不可靠性之间本身就是一个矛盾。这种原生性的矛盾不以人的主观意志为转移。

    只有接受了这个客观矛盾的存在。才能找到软件工程的真正解决。否则,一切都是枉然。

    或者换个更残忍的说法:只要人们还把写代码看成是一种艺术,那软件工程就不会有本质上的发展。

    现在软件试图解决问题的方式是用主观的方法来解决客观的问题。这种方式是行不通的。

    什么叫 “主观方式” 那。主观方式觉得解决这个问题的方式是大家定一个标准,然后通过下发文件、传授经验的方式来提高软件质量。

    比如敏捷,敏捷的口号是拥抱变化。为什么要拥抱变化,因为客户需求总是变化,所以我们需要随时可以变化,来满足客户的需求变化,但是这样的后果往往是软件设计结构的变化。

    你设计的好,挡不住他变化的块。

    初心是好的。但是他终究无法落实。

    或者咱们换个说法更清楚明白一点,这些伟大的脑袋总是想通过要求程序员遵循一些附加的规则。来保证代码的产出。而且这些附加的规则还没看有任何统一的评价标准

    问题就处在要求这两个字上,什么是要求,让广大的程序员通过付出更多的时间付出来,来传出更好的代码。

    这个过程对程序员自身来说,是没有多少实际收益的。即使大家都有想产出更好的代码的意愿,那也不可能。

    为什么?因为人不可能和自己的人性作斗争。你要是总能斗争赢,那你牛逼了,那你就是佛家所说的斗战胜佛了(佛家的斗战胜佛可不是指的孙悟空哟,可别被西游记骗了哟,指的是能战胜自己的欲望和烦恼的意思)。

    任何与人性作斗争的努力都是徒劳的。

    套用资本论的思想,无论是谁,想要更好的更多的利润,他又两种方式,一,提高绝对剩余价值(增加工人工作时长,强迫劳动)二,提高相对剩余价值(研发开发工具,使用更先进的框架)

    你不用试。历史已经试过不是一次两次了。凡是选第一种的都基本上嗝屁了。

    留给你的选择不多了。

    以上,以及之前写的可以算是吐槽。发泄一下怒火,并不设计核心思想,以后我会阐述我的具体思想。以及我认为解决软件困境的具体方法。

    我的具体方法可能是错的,但是我相信我的总体思路是对的。因为这不是我总结的。而是客观世界的发展规律。

  • 相关阅读:
    Django跨域问题
    DOM,jquery,vue
    from和modelform的用法和介绍
    元类的__call__和__new__方法的作用
    Django学习之路由分发和反向解析
    Django 自定义auth_user
    Django创建对象的create和save方法
    Flask--(登录注册)抽取视图函数
    Flask--(项目准备)--添加日志
    Flask--(项目准备)--框架搭建,配置文件抽取,业务逻辑抽取
  • 原文地址:https://www.cnblogs.com/qufanblog/p/15825182.html
Copyright © 2020-2023  润新知