zoukankan      html  css  js  c++  java
  • 软件工程第一次作业

    小学四则运算自动生成软件

    读《构建之法》产生的问题

    问题1:技能的反面指的是什么?

        - 3.3技能的反面  P52
        - P52第四段正文给出了“技能的反面”巴克斯顿的解释——“Problem Solving”即“解决问题”。当笔者读到后面的时候,发现后文主要讲的是:通过多次
          解决低层次问题提高技能、不要好高骛远、低等级的模仿并不会带来更好的效果。似乎并没有对“技能的反面”做出解释。
          笔者对“技能的反面”尝试理解了一下:
        - 是指:我们通过不断的深入了解问题,不断的实践,最终知道如何去解决问题?
          还是:通过多次实践,能把低层次问题顺手拈来的解决,唯手熟尔的去解决问题?
    

    问题2:下划线能随性使用吗?

        - 4.2.7下划线的使用 P63
        - 文中写到:下划线用来分隔变量名字中的作用域标注和变量的语义,移山公司规定下划线不用在其他方面。
        - 笔者平时在代码编写过程中习惯于在类名,方法名,变量名中普遍使用下划线,笔者觉得能增加代码可读性,例如:
    
            class String_Tester{
                void string_Test();
                string test_string;
            }
    
        - 请问上述的做法是极不推荐的吗,需要改成不使用下划线吗?
    

    问题3:小型本土团队能使用UTF-8编码作为统一的编码,并使用中文注释吗?

        - 4.2.9注释 P64
        - 文中写到:注释包括所有源代码应该只用ASCLL字符,尽量不使用中文或其他特殊字符。
          因为并非每个人都拥有比较高的英文能力,与其查字典后再来阅读代码,还不如直接写中文注释,减少阅读时间。
          笔者接触的编译环境比较少,请问推荐使用UTF-8编码吗?
    

    问题4:渐进的价值指的是什么?

        - 7.2.5重视商业价值,提供渐进的价值 P131
        - 一个沉溺于技术而忽略商业价值的团队往往是失败的,所以需要重视商业价值。
        - 在P132底部,阿超说道:一些原本闭源的项目后来变得开源,是因为商业因素。
          此处的商业因素是指:开源的社会价值、公司的名誉价值 吗?
          这些商业因素是不是就是标题所描述的渐进的价值?
    

    问题5:集合的分割

        - 17.2其实还是人的问题 P361
        - P={P1,P2,P3,P4,P5}
          P1=做事的,P2=不做事的,P3=不让别人做事的,P4=做假事的,P5=假装做事的
          不难发现他们之间有交集,比如P4是P1的子集,P5是P2的子集。即第四类、第五类跟前面的两类其实是属于前面的两类人,则出现矛盾。
          笔者提出一个大胆的建议:
        - P={P1,P2},P2={P2-1,P2-2,P2-3,P2-4}
          P1=做实事的,P2=不做实事的,P2-1=旁观不做事的,P2-2不让别人做事的,P2-3做假的事的,P2-4假装做事的。
    

    问题6:大棒和小强的地狱指的是什么?

        - 17.4萝卜与白菜 P369
        - P370底部阿超说:我们要胡萝卜和大棒并用。我们的大棒就是“小强地狱”。
          是指让“明星开发人员”去解决他自己代码中所有的Bug(甚至别人的Bug),以此种方式惩罚他,让他体会Debug的痛苦,并使其反思,最终让其慢下
          来吗?
        - 并在最终的时候让萝卜与白菜共存吗?
    

    更多

        - 这是笔者读到最诙谐最直白没有之一的专业书
    
          书中讲到合作,需要为他人着想,但很多情况下都是懂事的人来操心一切。
    
          书中讲到团队,团队必然少不了要为了共同利益,而非为了一己私利而勾心斗角。
    
          书中讲到道德,很容易让笔者想到社会的阴暗面。
    
          笔者不想去揣摩他们,只想在未来靠着自己的能力吃一份饭。
    
          纵然世皆险恶,但像书中那般以纯真的眼睛去看世界,又岂是错的呢,至少是在程序员的世界里
    

    软件特点分析

    例1 Deepin OS

    • 国产的发行版Linux系统
      1)精美的毛玻璃效果,方便的雷神终端模式以及免费预装CrossOver(可以让Linux模拟运行Windows程序,付费而 且不便宜)
      2)目标是推广桌面版,并通过服务器版盈利,桌面版完全免费,服务器版收费,面向专业用户
      3)通过科技媒体了解到,并于官网下载安装
      4)通过用户反馈得知Bug,并严肃处理每一个Bug,通过迭代更新,有正式版和预览版,正式版稳定且更新慢,预览版反之
      5)精美的用户界面。

    例2 Office套件

    • 微软开发的用于办公的软件
      1)强大的功能,精美的外观,清晰的布局
      2)目的是盈利 399 RMB/年
      3)通过工作学习了解,并随后下载(等工作了还微软正版 -_-)
      4)发布之初几乎无Bug,通过发布新的版本,一个版本维持数年
      5)垄断低位并不断推陈出新,几乎无竞争对手

    例3 纪念碑谷

    • 游戏,App Store 精华
      1)完整的故事,精美炫酷的游戏界面,简洁简单的操作逻辑
      2)目的是盈利 25 RMB
      3)通过朋友交流了解到,在App Store付费购买
      4)发布之初解决几乎所有Bug,目前为止没有新版,只有子版本
      5)精美炫酷的游戏界面,上手容易程度。
  • 相关阅读:
    DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)
    DevExpress控件使用系列--ASPxGridView+Popup+Tab
    DevExpress控件使用系列--ASPxTreeList
    "Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b7
    Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
    ExtJs的事件机制Event(学员总结)
    Ext.Loader
    Ext.ComponentQuery.query()
    Ext.grid.Panel表格分页
    WPF概述
  • 原文地址:https://www.cnblogs.com/liyuquan/p/6735797.html
Copyright © 2011-2022 走看看