软工网络15个人阅读作业2
提出问题
快速通读教材《构建之法》,并参照提问模板,提出5个问题。
如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互联网时代如何提问题。 还有这些要点:
在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文
列出一些事例或资料,支持你的提问。
说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
ps:鉴于这门课还没有上多少和个人能力有限,以下观点可能不够客观甚至偏颇幼稚。
问题一
-
p53
过早优化:既然很多软件都是“软”的,那他就有很大的可塑性,可以不断改进。放眼望去,一个复杂的软件似乎很多模块可以变得更好。一个工程师在写程序的时候,经常容易在一个局部的问题上陷进去,花大量的时间对其进行优化,无视这个模块对全局的重要性,甚至还不知道到这个“全局”是怎么样的。
-
我有一个问题,就是对于我们这些学生来说,最痛苦的就是上手敲代码,因为过程中出现的bug常常因为解决不了而放弃,尤其适当做实验项目,课设之类的时候,如果前面不能把那些不太必要的程序加进去,到后面太做完在优化,可能就会有大量的bug,而且很多地方根本不会优化到后期,而在前期又会因为书上写的因为太早优化而不知道全局的问题,我想知道对于程序菜鸡要怎么解决。
-
还有一个问题,就是我觉的作者在下面举得例子不太合适,我觉的这个例子更像是多余的优化而不是过早优化。hhhhh
问题二
-
p108
构造阶段——构造阶段结束时是第三个重要的里程碑:初始功能里程碑。此时的产品版本也常常被成为“beta”版。
-
百度百科上关于beta的解释 Beta 指的是公测,即针对所有用户公开的测试版本。我认为在后面添加对beta版为公测版对读者的理解更有好处。相应的alpha直接指做内测版会更好,因为我们对于这类词语更熟悉。
问题三
-
p136
小飞:远景是由领导决定,还是自下而上形成的? 阿超:一般是由“有远见的人”提出,然后公开逃讨论,在讨论的过程中,可以消除误解,凝聚共识。这是一个项目的关键,是一个项目第一阶段要达到的主要目标。
-
在这里这个有远见的人指的是产品经理(PM)还是指团队里有想法的人?而且在其他书里我读到过,团队的愿景应该是由团队的领导层设计被成为项目/公司的指导思想,不知道这里的远景是否和这个有关?
问题四
-
p263
长期使用之后,软件会更好用么? 我同意第一印象很重要,但是当用户已经是第N次使用你的产品时,你的UI能否为这些用户提供方便呢?你的产品是下面的哪一种: a.软件用的越多,一样难用 b.软件用的越多,越发难用 c.....
-
上段文字以及后页的文章里提到一个观点是随着功能的复杂,软件越来越难用,在这里我认为就像很多企业做产品的时候推出多种版本就可以了啊,专业版或者是业余版,而且根据用户习惯方面可以根据用户信息跟踪就可以了解用户的使用习惯,这类相应的解决方法,希望作者可以在里面提供。
问题五
-
p350
迷思之三:好的想法会赢
-
在这个例子里,作者提到了键盘的设计问题,恕我在这里钻一下牛角尖,根据资料,最开始设计的键盘就是a-z顺序字母键盘,后来是因为打字速度过快而导致某些键卡位,为了降低打字速度才有了qwerty键盘,在我看来,键盘的问题不应该从用键周期入手,而应该从产品的质量入手,az顺序位键盘也好,DVORAK键盘布局也好,提高产品的质量才是最重要的,至于键位,可以根据用户的习惯自行选择,比如自定义键盘等。