速读《构建之法》(Build to win)有感
通过这两天时间,我粗读了《构建之法》这本书。老实说,对于这样四百多页的一本书,刚开始把这样的任务当作是一种负担,然而当我开始真正接触它时却被它幽默有趣的风格所深深吸引,它不同于以往学习的教科书晦涩难懂,书中以“阿超”为代表举了很多有趣小例子,读完让人印象深刻,不到一会儿就读了小几十页,同时也让我对软件工程这个概念有了初步的认识。
问题一: 说起来,学习编程也已有两年多的时间,然而回想这段学习,自己似乎从未对编程的内容有过深入的思考,一直以来自己似乎都停留在完成布置任务,无论代码内容如何,只要能达到结果目的即可。读完这本书的目录让我知道,一个完整的软件工程需要很多步骤,它是一个需要整个团队精诚合作所完成的一件事情,每个人的工作都有着相互的依赖性,个人的编程习惯也许能在一时达到某个目的,却也许会因为这样的习惯在后期让整个团队付出很大的代价,那么我们在实际的操作中应当如何使得自己负责的模块不会影响其他模块?应当如何使得自己的模块的质量得到保证呢?
问题二:如何才算得上是一个合格的软件工程师,或者说优秀的东西似乎都具备着一些共同的特质,那么一个合格的软件工程师所写的代码应当都具备哪些特质呢?这些特质该如何融合到我们平时的练习当中去?
问题三:书中P52页提到,“”软件工程师不宜过早的优化,不能过于积极的解决所有依赖性问题”,在平日里写代码时,遇到问题及时解决在最后才不会花费太多精力和代价在代码的改进和优化上,小的工程代码尚且如此,在大一点的软件工程项目中后期岂不是要付出更大代价?
问题四:一个软件的诞生似乎源于用户对于这款软件的需求度,人们在现实社会和生活中遇到各种问题时,需要求助于各种软件,人们的需求往往五花八门。在本书P165页中邹欣老师也曾提到“原来我并不了解海量中国用户,原来真实的用户并不是我想像的那样”。我相信任何一个做软件的程序员一开始都认为自己做的东西是被用户所需求的,所以才会有去设计软件的冲动,只有这样这样自己所做的东西似乎才被赋予了意义,那么做软件的人在做软件前就一定会对这个软件进行需求分析,既然是在做过需求分析后得到的软件,为什么依然存在需求不对称的问题呢,书中提到“不理解为什么有那么多人为了qq上的虚拟形象付钱,现实中的很多人喜欢漂亮和虚荣,因而她们不在乎花点钱打扮自己”,我在想在做软件时有时更重要的也许是这样的“隐性需求”,并不是简单的“用户调查问卷”一类的需求分析所能体现出来的,那么这样的需求分析是否还有必要呢?
问题五:“好的开始,不一定会有好的好的结尾,坏的开始,结果往往会更糟" 对于软件工程这门课程我们都是刚刚开始的学徒,在书中所介绍到的包括软件工程师,项目经理,软件测试人员等等都是软件开发工程中必不可少的关键人员,每个人的分工不同,侧重点也不同,那么作为现在的我们来说侧重点应该放在那里呢? 或者说为了以后更好的完成这些工作,我们现在最应该做好的是什么?
------记于课程的开始
期望自己执着的热情,期待课程后续的内容,但愿在这一学期自己能真正从中学习到些什么……
速读《构建之法》(Build to win)有感的更多相关文章
- 学习JAVAWEB第三十七天(读构建之法有感)
读<构建之法>有感 我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活.读了 ...
- 8th 对软件工程的理解(读构建之法有感)
对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...
- week1读构建之法-读书笔记
最开始听见杨老师说邹欣老师这个名字总觉得很熟悉,后来看见博客上老师的头像恍然大悟,原来机缘巧合已经在微博上关注邹老师许久,一直觉得邹老师是个很有意思的人,兴趣一定十分广泛,看了老师的书确实能感觉到邹老 ...
- 读着读着《构建之法》(Build To Win) 越精神的白雪儿的思考
哲学家的宗旨是:我思,故我在 科学家的宗旨是:我发现,故我在 工程师的宗旨是:我构建,故我在 ——<工程学--无尽的前沿> 序言:珍惜角色“人”,注重实践“物” <构建之法>, ...
- 201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求链接 https://www.cnblogs.com/nwnu-da ...
- Build to win!——获得小黄衫的感想
UPDATE: 应栋哥要求,上传了无遮挡的正面照(我的内心其实是拒绝的!(ㄒoㄒ)) 一.前言&背景 从大一上C++课程开始,栋哥就开始安利他大三的软工实践课. 时间过得飞快,大学转眼就过去一 ...
- 初窥构建之法——记2020BUAA软工个人博客作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发过程的心得掌握 ...
- <构建之法>之一至二章
身在大学,却想起了在高中的生活和初中的生活,特别是初中的生活,为什么这么说呢!因为<构建之法>,看了其中的两章的内容,为什么想到了初中和高中的生活呢,因为在高中和初三的时候看的最多的就是课 ...
- <<构建之法>>略读感想
经过对构建之法这本书的快速阅读和学习,我有以下疑问. 1.对软件工程来说是应该更注重结果和功能的实现还是更注重代码的易读和完整? 2.应该怎样平衡不同用户的不同需求以达到使大多数人满意的目的? 3.应 ...
随机推荐
- 解决python中 .to_csv() 的乱码问题
解决方法:添加参数 encoding='utf_8_sig' df.to_csv('users.csv', encoding='utf_8_sig')
- JS进阶1
一 表格案例 二 onchange事件(二级联动) 三 onmouse事件 四 事件委派 五 作用域链 一表格案例 <!DOCTYPE html> <html lang=" ...
- eclipse中xml下Namespaces显示不全的解决办法
1.问题描述: 如图,有时候编写spring相关的xml文件时,使用namepace中显示不全或者完全不显示 2.解决方法: Window —— Spring —— Beans Support ...
- MATLAB的两种移位运算
MATLAB的两种移位运算: 1)circshift矩阵移位 circshift:循环移位数组 语法:B = circshift(A,shiftize) 说明: B = circshift(A,sh ...
- 【Codeforces Round 1110】Codeforces Global Round 1
Codeforces Round 1110 这场比赛只做了\(A\).\(B\).\(C\),排名\(905\),不好. 主要的问题在\(D\)题上,有\(505\)人做出,但我没做出来. 考虑的时候 ...
- three.js - 添加材质 灯光 阴影
看下运行效果: 源码解释: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- C#中的位的或运算的理解
如果懂位的运算,看到下面这2个程序执行的结果,会很容易理解,如果像我这样的菜鸟,刚接触开始肯定也觉得晕晕的,|= 这是什么运算符? |=就是位的或运算符,下面还是用上面的程序来讲解一下,为什么上面2个 ...
- Redis详解(七)------ AOF 持久化
上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失).对于数据完整性要求很严 ...
- 对int array进行排序
今天再学习一些C#的基础知识,如对 Int Array进行排序: 你可以在控制台应用程序中,创建一个类别,它属性和2个构造函数: class Af { private int[] myVar; pub ...
- npm install报错 npm ERR! enoent ENOENT: no such file or directory
在npm之后出现如下错误: $ npm install npm WARN checkPermissions Missing write access to /Users/lucas/code/js/v ...