软件工程是否可以提高代码质量?

2019-05-14 15:02:28 +08:00
 azuki

所谓软件工程

↑这是王垠的一篇博文,上面的链接是备份。他的博客上已经看不到了。不知是不是改变了观点。

我发现软件工程这整个领域,基本就是吹牛扯淡卖“减肥药”的。软件行业的大部分莫名其妙的愚昧行为,很多是由所谓“软件工程专家”发明的。 …… 他们把这些所谓方法论兜售给各个软件公司,鼓吹它们的各种好处,说使用这些方法,就可以用一些平庸的“软件工程师”,制造出高质量低成本的软件。 …… 全都是一群饭桶。他们其实根本就不懂很多编程的东西,写出文章和书来也是极其肤浅,一知半解。

软件工程真的如此不堪吗?对提高软件质量帮助很小?虽然没有经常被提到的数据库、操作系统、网络等学科重要,但是否像文章里说的毫无价值?

这些“方法论”或者“原则”对于你们写出更好的代码是否有帮助?

6006 次点击
所在节点    程序员
50 条回复
wenzhoou
2019-05-15 13:53:25 +08:00
对呀。证据呢证据呢。谁主张谁举证。
请大家评论时候带证据。不然就是灌水。
marsgt
2019-05-15 13:59:26 +08:00
先声明非科班。

我觉得软件工程更偏向方法论的范畴,说白了,就是尝试用规约的形式来管理一个组织进行开发,目的是保证项目在**不崩**的前提下进行有效增长(增长包括但不限于代码行数、功能、性能等)。至于代码质量,我觉得不存在直接的促进作用,只是通过某种手段**强制**限定了代码质量不会崩盘而已。
halk
2019-05-15 14:11:53 +08:00
这种乱抛“语不惊人死不休”论点的人,脑袋都有问题。。
no1xsyzy
2019-05-15 14:30:49 +08:00
1. Design Pattern 这名字就不对劲,设计模式?听起来就像在说一个导电的绝缘体一样。

2. DRY 并没有作者,来源应该是 Usenet,谁敢自称作者?

3. Agile 和 Scrum 并不是 “软件工程” 的方法,而是 “项目管理” 的方法。
不是工程,是管理,B.Eng. 和 MBA 能一样吗?有谁把 Agile 和 Scrum 放进 “软件工程” 大类里请重新读高中。
举个例子,我拿 Trello ( Scrum 工具)来做大件购物清单(愿望单)。购物清单显然不是 “软件工程”,但大件购物这一动作显然是个项目,符合项目的要素(一次且仅一次,有一个明确的目标,有黄金三角限制)。

4. TDD 和 BDD 我仍然没有明白区别是什么,没见过人说清楚的,只能瞎猜。BDD 更倾向于将测试以 “效用” 划分,比如业务用的、安全用的、管理用的、测试用的(瞎划的)。TDD 更倾向于以 “模块” 划分,比如充值模块、消费模块、抽卡模块、战斗模块(还是瞎划的)。但是那样的话难道不能在每个测试上标明它表达了何种效用,属于哪个模块,甚至更多种类的 metadata。
no1xsyzy
2019-05-15 14:31:37 +08:00
@halk 忽然想到你这句算不算
taaaang
2019-05-15 14:58:33 +08:00
我们国家的 IT 环境是只要能写代码的( CRUD )。绝大部分人做的工作算不上工程,所以我们叫程序员,不叫工程师,所以培训班能大规模批量输出劳动力
halk
2019-05-15 15:03:13 +08:00
@no1xsyzy 算😓
LokiSharp
2019-05-15 15:06:29 +08:00
程序员和计算机工程师的区别吧
LancerXin
2019-05-20 10:20:28 +08:00
别的不说。“设计模式”个人还是感觉很好用的,我说的是那些不是为了用而用的人。也不是那些一知半解的人。
1.设计模式给了我们能够快速读懂对方代码意图的能力,很多开源项目,源码无从下手,但是这个项目运用大量设计模式,而且你刚好很懂这个,那么你阅读代码所花的经历会大大减少。因为你看到 Adapter,Wapper,Factory 之类的关键字都有一种非常收悉的感觉,自然而然的就知道怎么去读它
2.设计模式的确一定程度上把复杂的大问题分解成若干个局部问题,让思路更加清晰,某些时候也可以解决多个人员分工合作开发

“ Design Pattern ” 作为一个开发 10 年的老程序员,可以负责任的告诉你,绝对不是一个无用的东西。
longquanwo
2019-06-01 14:56:19 +08:00
@chinawrj 哥们留一个邮箱有偿请教无线组播问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/564024

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX