热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

读《构建之法》1、2、16章问题及理解

读了第一章之后,在作者对于航空业和软件业的类比里,有一段内容引起了我的疑问:“如果一架民用飞机上有一个功能,用户使用它的几率是万分之一,你还要做这个功能么?你会选择1.根本不考虑2.如果没时间实现功能

读了第一章之后,在作者对于航空业和软件业的类比里,有一段内容引起了我的疑问:“如果一架民用飞机上有一个功能,用户使用它的几率是万分之一,你还要做这个功能么?你会选择1.根本不考虑2.如果没时间实现功能就算了3.做了但是不用告诉用户4.做了,而且不厌其烦地告诉用户如何使用”,我的问题是如何才算是一个合格的软件呢?而一名合格的软件工作者是在书中所说的四个层次中的哪一个层次上谈论软件呢?而我去查找了一下如何才算是一个好软件,我从百度知道上得到的回答是“要衡量一款软件是不是好软件,可以从以下几个方面来判断:首先是使用方法要简单,一款性能优越的软件,在使用方法上是很简单的,初次使用也能够在短期内就可以上手使用。其次就是功能全面,这也是软件的灵魂所在。一款好的软件要满足使用者的各方面的个性需求。还有就是对软件后期维护,软件升级换代比较及时,省心。”而以我现在的技术水平是极难做出严格意义上的好软件的,因为这不仅仅是自身的水平问题,还有对于用户需求的方面考虑,真正的合格的软件有苛刻的要求,而不仅仅是你把它做出来就ok了,万事大吉了,而这方面的经验我觉得我还是太缺乏了。而我也认为,至少要到达书中所说的第三个层次:不断创新的层次才有可能做出真正的好软件,因为有不断创新才有软件的不断完善。
而第二章内容“对于单元测试的功能、标准以及几个失败例子的举例”,这里面对于单元测试的几个介绍,让我不禁想问单元测试是很重要吗?必须自己来吗?之后去查找了一下,我引用的是这段“单元测试,对提高软件质量是有很大帮助的。通过一系列预先设计的规则,就可以覆盖大量的测试点。尤其是对重构一类的任务,确保修改前后系统行为不变很重要,而修改后的回归测试工作量又极其繁重,此时单元测试就能体现出无以伦比的效率。”由此我体会到了单元测试对于软件的重要性,而从我自己的实践经验来看,还没有涉及到这一方面,但也了解到单元测试绝对是比较重要的一环,绝不能随便敷衍,而尽量要写的细一些,不要有错漏。而我觉得单元测试自己来要更好,为什么呢?因为自己所负责的方面自己上手会比较熟悉,更加容易写出更不易出错的单元测试,而交给其它人,不仅自己不放心,还有更大可能出错。
第十六章讲的主要是IT行业的创新,一开始讲的创新的迷思对我触动很大,作者的观点是,创新并不仅仅是灵光一闪或者突发奇想就能够造就的,他举了很多伟大的人灵光闪现有了创新的例子,并指出那是因为他们在之前就打下了深厚的基础,灵光一闪之后才能创新,而许多人有了灵光一闪,却最后只能是空的构想。没有自身扎实的功力 前人的不懈努力,灵光一闪永远成为不了创新。而我的困惑是像我这样的技术水平不够的人,哪怕有了灵光,也只能是空的构想吗?没有办法实现创新吗?之后去查找了一下,发现了自己可以做到的,那就是尽量向自己的想法靠拢,可以先做一些简单的,类似的东西,之后慢慢增长经验,等自己有了足够自信和能力去完成的时候再去完成。创新不是一蹴而就的,一步步积累也是创新所必需得,软件的创新也是这样。


推荐阅读
  • 本月初,我们为大家推荐了一系列精选书单,助力大家提升技术水平。月底,我们将介绍几位行业大牛,帮助大家找到人生导师。InfoQ一直致力于为用户提供有价值的资源和支持。 ... [详细]
  • 智能医疗,即通过先进的物联网技术和信息平台,实现患者、医护人员和医疗机构之间的高效互动。它不仅提升了医疗服务的便捷性和质量,还推动了整个医疗行业的现代化进程。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 数据排序、无限滚动与分页加载及子查询的使用
    本文介绍了数据排序的基本方法,包括升序和降序排列。同时探讨了瀑布流布局(无限滚动)和传统分页技术在Web应用中的应用,并详细解释了子查询的概念及其替代方案。 ... [详细]
  • 解决Spring Boot项目创建失败的问题
    在尝试创建新的Spring Boot项目时遇到了一些问题,具体表现为在项目创建过程中的两个关键步骤出现错误。本文将详细探讨这些问题及其解决方案。 ... [详细]
  • 本文介绍百度AI Studio这一集成开发平台,涵盖丰富的AI教程、经典数据集及云端计算资源。通过具体示例——在AI Studio上构建线性回归项目,帮助初学者快速掌握其核心功能与操作方法。 ... [详细]
  • JMeter接口关联与数据提取:正则表达式和JSON Extractor的使用
    在使用JMeter进行接口测试时,常常需要从前一个接口的响应中提取数据并应用于后续请求。本文将详细介绍如何利用正则表达式提取器(Regular Expression Extractor)和JSON Extractor来实现这一需求。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 本文旨在深入探讨HTTP长连接的工作原理及其配置方法,帮助初学者更好地理解和应用这一技术。通过本文,读者将了解如何利用长连接提高Web应用的性能。 ... [详细]
  • 本文介绍如何在Django的管理后台中为特定模型添加自定义地图功能,例如使用百度地图API根据场馆名称获取并存储地理坐标。 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
  • matlab gamma函数_MATLAB做晶体结构图(固体物理)
    写在前面最近在复习考研复试《固体物理》这一门课,去年学的内容已经忘干净了,所以就翻开前几页。突然看到了面心立方和体心立方结构图,想到了去年 ... [详细]
  • 如何检查电脑显卡的显存类型
    本文旨在指导用户如何轻松识别自己的电脑或新购显卡的显存类型,无论是GDDR3还是更为先进的GDDR5。通过简单的步骤,即使是计算机新手也能快速掌握方法。 ... [详细]
author-avatar
手机用户2502922793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有