《构建之法》阅读有疑 与 个人Week1作业
《构建之法》阅读有疑
在用将近五节课的时间将邹欣老师的书《构建之法——现代软件工程》第二版大致看完。虽然全书是以轻松的口吻与”移山公司”员工的一些趣味谈话来传输一些理念和思想的,但是读完并理解依旧不是一件很容易的事情,并且在这过程中我对书中的一些看法抱有怀疑的态度,现将问题所在列在下面。
- P68页:我不是很认同邹老师的“精通”魔方的判定方法。就好像在软件工程开发中,一个人解决了一个bug。解决了bug却不算是“精通”,还得能恢复bug,再现bug才算是懂得各中原理吗?我觉得作为一个软件开发者,我们掌握解决bug的技巧与能力即可,不需要掌握复现bug的手段。
- P79页:关于goto的使用。说实话这是我第一次看到goto的好话。我只见过goto在操作系统底层源码使用的情况,当然,在操作系统底层有些时候使用goto跳到错误处理避免无谓的重复。但是使用goto即使是在操作系统底层也应该慎重使用,不知道邹老师认为还有什么样的情况属于“有助于程序逻辑的清晰体现?”。
- P89页:在这里关于结对编程我有一个困惑:如果结对编程的伙伴不与我沟通,并且对于结对编程没有热情,这样的结对编程反而只会让效率低下。在这种情况下,除了换结对伙伴外(一般出门在外,身不由己),怎样能提高结对编程的效果?
- P85页:真的有必要对不可能运行到的代码路径进行单元测试吗?尤其是在本来封装性很好的情况下,为了单元测试而强行拆解函数,把类增加了很多无用的方法?老师如何看待这种问题?
- P117页:关于敏捷开发。敏捷开发的模式可以说是种轻便的模式,但是有一个严肃的问题摆在我们面前:小的创业团队一旦敏捷开发了一款创意优秀的软件并且在完善它到很好的程度前就发布了。这样会不会引来大公司的创意剽窃?尤其是在财力,人力都不如大型公司的情况下,怎样解决这种在敏捷开发中可能遇到的问题?
- 还有一个个人问题想问老师:为什么初入行业的软件工程师总是对自己的代码风格与效率盲目自信,而总想重构他人的代码?一个项目进展到什么样的程度才能叫不可维护,在怎样的情况下才有正当的理由被重构?
软件和软件工程的出现
软件一词在: 1958 年Turkey在论文“The Teaching of Concrete Mathematics”中提出。
wiki原文为:
In 2000, Fred Shapiro, a librarian at the Yale Law School, published a letter revealing that Tukey’s 1958 paper “The Teaching of Concrete Mathematics”contained the earliest known usage of the term “software” found in a search of JSTOR’s electronic archives, predating the OED’s citation by two years.
软件工程一词是 Margaret Hamilton 在NASA设计阿波罗号电脑上的软件时提出的新名词。
《构建之法》阅读有疑 与 个人Week1作业的更多相关文章
- <构建之法>阅读感想
在阅读<构建之法>之前,我所认为的软件就是通过c,c++等语言编程,制作出的一个能满足人们操作需求的一些代码,认为一个好的软件工程师,就是能够在很短的时间之内,最快的根据需求写出几段代码程 ...
- 学习打卡day12&构建之法阅读笔记第一篇
今天浅读了<构建之法>的前四章,稍微有一些个人的见解与感受 第一点即是开篇提及到的算法与数据结构这门学科开设的必要,大二上学期学习了这门课程,就我个人目前接触到的层面来看,几乎可以说用不太 ...
- <构建之法>阅读笔记6
第九章:项目经理 是讲项目经理的作用功能和重要性,书里面主要讲的是微软的PM(Programe Manager)和其他团队PM(Project Manager)的区别,还介绍了PM的能力要求以及人物, ...
- 学习打卡day14&&构建之法阅读笔记第二篇
对于书中所提到的结对编程我还是有些许感受的,在大二上学期我就有和同学合作,共同完成编码.有时候可能是我来做非常非常简易的前端页面部分,然后给同学一个基础框架,让同学往框架里面填充,时而遇到问题我再来沟 ...
- SE_Work1_阅读构建之法&项目管理实践
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:阅读<构建之法>并回答问题 个人博客作业 我在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作 ...
- 软件工程---阅读《构建之法》P384~391
-阅读<构建之法>P384~391后,我充分认识到软件工程师的职业道德的重要性,具体有: 原则1:公众 原则2:客户与雇主 原则3:产品 原则4:判断 原则5:管理 原则6:职业 原则7: ...
- 阅读《构建之法》P384~391
通过阅读<构建之法>P384~391以及参考阅读杜老师给出的链接,得出一个重要的结论:软件工程师的职业道德至关重要. 软件工程的动态性和需求的前后关系,要求一个规范能对出现的新情形有较强的 ...
- 阅读《构建之法》第八、九、十章有感和Sprint总结
1.阅读<构建之法>读后感 第八章:需求分析 需求分析,我觉得需求分析挺重要的,一个需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应 ...
- [BUAA软工]第一次博客作业---阅读《构建之法》
[BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...
随机推荐
- EF5.0增删改查的写法及执行Sql的方法
public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>().AddObject(entity); // ...
- 【LeetCode】338. Counting Bits (2 solutions)
Counting Bits Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num ...
- sctp和tcp的区别
作为一个传输层协议,SCTP兼有TCP及UDP两者的特点.SCTP可以称为是TCP的改进协议,但他们之间仍然存在着较大的差别.首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TC ...
- Top 10 Universities for Artificial Intelligence
1. Massachusetts Institute of Technology, Cambridge, MA Massachusetts Institute of Technology is a p ...
- js后退一直停留在当前页面或者禁止后退
//禁用后退按钮 function stopHistoryGo() { //禁用回退 window.location.hash="no-back-button"; window.l ...
- MT写的对URL操作的两个方法
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android程序的签名保护及绕过方法
随着Android 市场的扩大,各类盗版.破解.打包党纷纷涌现,其使用的手法无非是apk _> smali ->修改代码 ->重打包签名,为对抗此类技术,广大程序员挖掘了Androi ...
- Python测试基础教程
Python简明教程1-为什么 Pythonhttp://www.automationqa.com/forum.php?mod=viewthread&tid=3674&fromuid= ...
- android-tools-adb
sudo apt-get install android-tools-adbsudo apt-get install android-tools-fastboot
- Android界面布局基本属性
在 android 中我们常用的布局方式有这么几种:1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) ...