《构建之法》阅读笔记01

  本周阅读了《构建之法》的第一章《概论》以及第四章《两人合作》。

  《概论》旨在说明软件工程的概念。

   作为一个程序员,几乎没有谁不知道“程序=算法+数据结构”这句名言的,而这本书中,则又提出了另一个概念“软件=程序+软件工程”,“软件企业=软件+商业模式”。

书中还提到了软件开发的不同阶段:玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段,并用了一个生动的飞机的例子区分了商业阶段与爱好者阶段的区别。如果程序中的一个功能,你用到他的几率是万分之一,那么你还会不会做这个功能?对此,我问自己:我会不会写这个功能?很明显,更好的答案是要写这个功能,但是,作为现在的我来说,编程序是能少写代码就不多写,虽然作为一名软件工程系的学生,但是我可能还只是停留在一名编程爱好者甚至是玩具阶段(★:此处应注意,以后用多注意细节上的问题。)此外,这一章中书中还提到了Bug的问题。我认为程序中的一个问题是程序的Bug还是功能应取决于用户的体验。因为一个软件开发出来是给用户使用的,而不是程序开发者主观判断这个问题到底是Bug还是功能。所以,在我们开发软件之前,应明确客户的需求到底是什么,而不是开发者的主观判断。

  《两人合作》中讲述了代码规范、极限编程、结对编程、两人合作的不同阶段、影响他人的技巧等内容。

  在大一编程的一年中,老师曾提到过注释的重要性,但是并没有强制要求,而且我写注释是用的汉语,中英文切换总觉得很麻烦。从而有很长一段时间里,我编程序都不加注释。但是导致的问题在后来也显现出来,等到在编程序时突然某个在大一时学的知识点忘记了,找到大一时编的程序想看一下,结果需要从头看所有的代码,才能找到自己想用的知识点到底在哪里……所以,在编程时,注意代码的书写以及规范性是非常必要的,它可以增强代码的可读性,为其他人阅读你的代码提供便利,而且在以后自己想看一下以前编的程序也比较方便。(★)而且,在编写代码时要养成良好的代码风格:简明、易读、无二义性。在编写时要注意代码的缩进、换行、以及使用括号清楚地表示优先级。(★此处为重点)其次,要注意对代码的极限测试,注意一些极限性的问题。

 

 

 

————————未完待续————————

转载于:https://www.cnblogs.com/qilin20/p/7955043.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 帧动画,加载动画,AnimationDrawable,仿京东加载动画

1、创建drawable文件ring_animation.xml <?xml version"1.0" encoding"utf-8"?> <animation-list xmlns:android"http://schemas.android.com/apk/res/android"><item android:drawable"mipmap/windmill_1"android:…

前端学习(2668):删除功能

1定义删除 2删除方法 3删除演示

mac 通过 homebrew 安装mongodb

通过homebrew安装mongodb非常省事&#xff0c;但是如果没有科学上网&#xff0c;可能比较慢&#xff0c;下面是官方安装教程链接&#xff1a; https://github.com/mongodb/homebrew-brew 主要步骤 1、brew tap mongodb/brew 2、brew install mongodb-community 3、启动 br…

SICK TiM561激光雷达的使用

TIM系列激光扫描传感器原理&#xff1a; 激光发射器发出激光脉冲&#xff0c;当激光碰到物体后&#xff0c;部分激光反射回激光接收器。通过计算发射/接收脉冲时间差&#xff0c;可以计算出距离值。激光扫描器连续不停的发射激光脉冲&#xff0c;由旋转的光学机构将激光脉冲按一…

简易listview与adapter实现列表,ArrayAdapter和BaseAdapter

item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:…

Netcdf文件导出基本代码示例

需求&#xff1a;从一个nc文件中取出我想要的变量&#xff0c;导出到另外一个nc文件。 下面是基本代码&#xff1a; GetMapping("/export") public String varExport(ModelAttribute FileSaveVars params ) throws IOException, InvalidRangeException { // 1…

记一次MySQL手工注入

本来想找个装安全狗的站试下绕过&#xff0c;safe dog没找到&#xff0c;但随便一搜搜到一个小站有SQLi&#xff0c;正好借此机会复习下手工注入&#xff08;新版Firefox我吐槽一下&#xff0c;hackbar这么好用的工具&#xff0c;说阉割就阉割&#xff0c;哎&#xff09; 小站没…

Netcdf对数据进行裁剪

对三维数据进行裁剪 List<Range> tyxRanges new ArrayList<>(); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); Array varData varObject.read(tyxRanges); ncWrite.write(varVar, varData…

Android: 解决动画完成后位置恢复到初始位置的问题

今天在使用TranslateAnimation位移一个LinearLayout时&#xff0c;发现动画完成后又会自动回到初始的状态&#xff0c;设置了fillAfter也不太管用。 仔细研究了一下&#xff0c;发现&#xff1a; 这种现象很正常&#xff0c;因为TranslateAnimation只负责实现位移动画效果&…

Netcdf中时间的格式化

需求&#xff1a;获取到的时间格式为minutes since 2018-01-01 00:30:00 我想要的格式为2018-01-01 00:30:00 java代码如下 // 4 设置时间变量 Variable timeObject ncFile.findVariable("time"); String timeAt timeObject.getUnitsString(); String regex &q…

Android GridView,recycleview,栅格布局

<color name"gray_b7">#F5F5F5</color>//activity背景色&#xff0c;itemview底部&#xff08;横向栅格条&#xff09;背景色&#xff0c;itemview主色白 设置竖向栅格条 adapter中设置 int w MainApplication.getnScreenWidth();holder.itemView.set…

PAT——1027. 打印沙漏

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”&#xff0c;要求按下列格式打印 ************ *****所谓“沙漏形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;符号数先从大到小顺序递减…

Netcdf中多变量导出代码示例

多个变量进行导出代码如下&#xff1a; GetMapping("/export")public String varExport(ModelAttribute FileSaveVars params ) throws IOException, InvalidRangeException { // 1 设置原始文件路径转存文件路径String filePath "/Users/caowei/workspac…

Android 微信分享

起调效果 分享到朋友 分享到朋友圈 分享效果&#xff1a; 1、登录 微信开发平台 创建Android应用 微信开放平台&#xff1a;https://open.weixin.qq.com/cgi-bin/index?thome/ind…

首页列表显示全部问答,完成问答详情页布局

首页列表显示全部问答&#xff1a;将数据库查询结果传递到前端页面 Question.query.all()前端页面循环显示整个列表。问答排序完成问答详情页布局&#xff1a;包含问答的全部信息评论区以往评论列表显示区。在首页点击问答标题&#xff0c;链接到相应详情页。app.route(/base2)…

Netcdf 文件多属性,按照时间段导出代码示例

由于个人即是java初学者&#xff0c;又是netcdf文件小白&#xff0c;所以为了实现最终效果&#xff0c;可以对一个初始nc文件进行筛选指定变量&#xff0c;并且可以设定时间区间&#xff0c;花得时间比想象的要多&#xff0c;最终实现了效果&#xff0c;代码示例如下&#xff1…