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

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

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

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

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

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

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

  • 相关阅读:
    实现一个基本的静态文件服务的Web服务器
    Http模块
    Java环境
    HelloWorld
    HTTP(s)
    第16条:复合优先于继承
    Tomcat配置https
    第15条:使可变性最小化
    第14条:在公有类中使用访问 方法而非公有域
    第13条:使类和成员的可访问性最小化
  • 原文地址:https://www.cnblogs.com/xinhuawei/p/5805372.html
Copyright © 2011-2022 走看看