软件工程第一次阅读作业
这次作业属于哪个课程 |
这次作业的要求在哪 |
读后的感想
1.第四章两人合作部分
代码的风格是简明,易读,无二义性。
--引用自《构建之法》
我是非常赞同这个说法的。我认为我在以后的开发过程中,不会搞艺术,使用一些花里胡哨的或者说贪图简单的命名,应该代码风格规范,使用一些约定的规则。首先代码风格规范可以促进团队合作,其次可以为处理bug降低难度,还可以降低软件后期的维护成本,最后,我觉得规范化也是对自己的一个成长。
1.第四章两人合作部分
在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。
--引用自《构建之法》
文中所描述的这种结对方式,给我一种就是先结婚后培养感情的感觉,两个人在各种因缘际会下,组成了一对。诚然,感情不是朝夕可得,有效的结对编程也不是一天就能做到的。《构建之法》一文中给我们介绍了很多关于结对的好处与适用性,可就目前来说,我觉得从两个人分开写模块变成一个写,一个审查,交替进行的模式,我觉得很新颖(把编程公开化,一个人坐你旁边,心中总有一股怪怪的感觉)。但是纸上得来终觉浅,就让这次的结对项目为我解疑答惑吧
1.第九章项目经理部分
9.5 PM的能力要求和任务
-- 1.观察、理解和快速学习的能力
-- 2.分析管理能力
-- 3.一定的专业能力
-- 4.自省的能力
--引用自《构建之法》
对此,我还认为项目经理需要抗压能力。作为项目经理,一定要能承受你的队友不能承受的巨大压力。尤其在项目遇到问题,进展不顺的时候;领导经常脱产开会的时候;上司催促进度的时候;怎样承受并缓解那种压力,不是每个人都可以做到的。假设你遇到一点事就郁郁寡欢,放不下,那在项目的重压之下,那会是对你精神与身材的双重折磨。所以说,项目经理一定要有好的心理素质,时时刻刻能顶住压力和队员最终做好一个优秀的项目。
2.第十六章IT行业的创新部分
其实,其实大部分成功的创新者都不是先行者,例如搜索引擎,Goole是很晚才进入这个领域的。
--引用自《构建之法》
这句话来自于十六章的“迷思之四:创新这都是一马当先”。首先我认为先行者得创新,才被称为先行者吧,先行者,即事业要先导,观念要先行。其次,创新者是有很多优势的,他也一定是先行一步了,如果他成功了,那他当然是先行者。至于说很多创新没有成功,我认为很多拍脑袋的创意是挺好,可惜的是他们没有考虑好接下来怎么走,自己的产品匆匆上市,马上就被对手山寨并完善,接着赶超。但其实,要想成功,还是得先创新,只不过要把接下来的细节完善好。
2.第十六章IT行业的创新部分
我们以后不管是进入企业还是进入科研,每天都做着同样的重复的工作,在这种情况下,我想知道,我们如何能保持自己的创新能力呢?毕竟日复一日的工程开发,会让我们习惯于一种开发模式,即使有了创新,我们又如何保持自己的接受能力呢?
软件、软件工程
我一直以来坚信这项发明流着艺术与科学的血液,虽然当时很少人是这么想。因此,我致力于为软件以及那些发明者争取应有的正统性与尊重,所以我开始使用“软件工程”这样的字眼来将之与硬件还有其他工程学类做出区别。
--引用自(https://linux.cn/article-4778-weibo.html)
软件工程一词最早是由 Margaret Hamilton 在阿波罗11号登月计划准备期间提出的
软件一词是1935年,图灵的一篇题目为“omputable numbers with an application to the Entscheidungsproblem (decision problem)”的论文中提出的
小故事
对数字图像处理(绝大多数“神奇的”PS神技背后的技术)领域稍有了解的人,应该都对这幅大名鼎鼎的Lenna图有所见闻。Lenna图常被用作数字图像处理各种实验的例图,看过相关专业论文的同学可能对她又爱又恨。
对于选择这张图作为例图的原因,(事后诸葛亮的)原因是:
- 该图适度的混合了细节、平滑区域、阴影和纹理,从而能很好的测试各种图像处理算法。
- Lenna是个美女,对于图象处理界的研究者(大部分都是男性)来说,美女图可以有效的吸引他们来做研究。
而真实的故事是:1973年6月,美国南加州大学的信号图像处理研究所的一个助理教授和他的一个研究生打算为了一个学术会议找一张数字照片,而他们对于手头现有成堆“无聊”照片感到厌烦。事实上他们需要的是一个人脸照片,同时又能让人眼前一亮。这时正好有人走进实验室,手上带着一本当时的《花花公子》杂志,结果故事发生了……而限于当时实验室设备和测试图片的需要,lenna的图片只抠到了原图的肩膀部分。
查阅版本管理软件
Github(用户数量:31,000,000)
优点
- GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作
- 利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流
- 在GitHub页面,你可以直接开始,而不需要设置主机或者DNS
缺点
- 你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。
- 他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。
Bitbucket(用户数量:5,000,000)
优点:
- 支持 git 和 hg
- 支持私有
缺点
- 开源项目不多。
Bugzilla(用户:不知道)
优点
- 免费的开源的一款功能强大的Bug管理系统
- 强大的检索功能,强大的后端数据库支持, 丰富多样的配置设定等
缺点
- 安装需要Perl和配置MYSQL数据库,过程比较繁琐
- 修改配置文件比较麻烦;英文版的,能汉化但是汉化后容易出现乱码
Apple Xcode(用户:不知道)
优点
- 可以自动创建分类图表。
- 自动提供撤消、重做和保存功能,无需编写任何编码
缺点
- 更新版本后,某个插件可能会失效。