zoukankan      html  css  js  c++  java
  • 软件工程的意义

    世界上有 10 种程序员。一种是遵守软件工程开发规则的,我们称之为工程师;一种是不遵守软件工程开发规则的,我们称之为码农。

    软件工程,是为了让程序员能够更好地写代码、写出更好地代码。这两个好,都有多层次的含义,但本质上,都是在长期的跨度内,减少程序员的工作量并提高代码质量。

    然而,世事总是不随人愿:长期跨度内的好,往往和短期利益会存在冲突。这也就是「短视」或者「目光短浅」的由来。在软件工程中,「写注释」、「保持良好的命名习惯」、「单元测试」、「设计思想」、「总结分析」、「时间记录」,这些是无数前辈总结出来的强而有效的工具。但是,从短期效果来看,使用这些工具(或者进行这些练习),无疑是耗费时间的——只要写出代码来就好了,谁管那么多事?

    对此,我的解释和邹欣老师书中的解释一致:软件开发,是一个长期的、不断变化迭代的过程,而不是一个短期的、一锤子买卖的活动。既然如此,已经明确了软件开发不是一个短期活动,那么为了短期利益,放弃长远打算,显然是不明智的。

    在作业中,软件工程的教师基本都会强调:要好好写注释,变量和函数命名要有意义,单元测试要随代码一起迭代修改,动手之前要先明确设计思想,动手之后要做总结分析、要写时间记录。然而,坚持做到这些的学生往往寥寥,在做到的学生里也有不少敷衍了事。

    那么,「明智的你」应该已经知道如何将这对引号(←)去掉了,对吗?

    另附邹欣老师对于这个问题的看法:https://www.zhihu.com/question/41338706/answer/91067000

  • 相关阅读:
    解析Javascript事件冒泡机制(转)
    JavaScript事件处理的三种方式(转)
    javaScript中"=="和"==="运算符的区别
    博客
    基础知识巩固二
    基础知识巩固
    知识小结(浮点数问题)
    关于电脑桌面图标消失并且右键无法点击的情况
    JS随笔(二)
    关于JS学习笔记
  • 原文地址:https://www.cnblogs.com/ChenMeng0518/p/5460435.html
Copyright © 2011-2022 走看看