软工第二次作业

个人阅读作业2

阅读提问

  • 软件工程师不能按时交付的原因之一。是他们有时候不满足于“解决目前直接的问题”,而是想“解决问题背后的问题”,或者“解决通用的、不直接的、但有重大意义的问题”

    我并不反对“解决问题背后的问题”可能会导致软件工程师按时交付,我只是觉得“解决问题背后的问题”这种行为本身是一种比较好的事情。事实上上我在之前写OO作业的时候,总会在基本功能还未完善之前,就开始想之后可能会出现的的问题,结果有的时候就会因此犯下一些低级的错误,可是我觉得这是因为我本身技术的问题,而不是我想太多的问题。我觉得“不满足于解决目前直接的问题”本身并没有什么问题,因为软件是经常需要迭代的,思考的更深入,或者解决的问题更有通用性对于软件的后续开发是有非常大的好处的。虽然这可能会导致软件本身不能按时交付,但是这种行为本身是有好处的。就比如OO迭代开发,很多大佬都会在完成一次作业之时,就会给下一次的开发预留一些接口,让下一次的开发变得更见简单,这也算是大佬和一般人之间的区别。

  • 关于goto

    书中提倡用goto语句来统一出口,这种想法本身是对的,但是是不是可以不用goto。在大一的某个课上(c程序设计还是数据结构),老师明确的提出过不要使用goto语句,因为可能会导致代码逻辑比较混乱。跳来跳去的,增大阅读难度。goto语句本身对于写代码的人来说,是很方便的语句,使用过之后,很难保证不会在其他地方使用goto语句,这对于阅读代码的人来说,增大了很多难度。因此,我到目前为止并没有使用过goto语句。书上提供的例子,我可能会使用一个大的if语句,把两个if语句都放在里面,出口放在else里面,这样子读起来也很方便。

  • 老板驱动的流程

    “当软件订单的获得不是主要靠技术实力,而是靠个人关系,或者暗箱操作的时候,老板的能力决定了一个团队是否能获得订单,既然软件的具体功能并不重要,那么老板说做什么就做什么“。对于这句话,我感觉目前很多的大企业,顶着大企业的名号,实际做出来东西还不如某些小企业做出来的产品。作为一个忠实的游戏爱好者,我不得不说目前的某个龙头企业,真的完全符合上面所说的那句话。通过自己的影响力,买一些很有影响力的IP,然而却做一些真的是很垃圾的游戏,一切只是为了挣钱。由于IP和公司的影响力在那里,这保证了初期的用户数量,但是游戏的质量决定了这些玩家不可能一直呆在这个游戏里,但是没关系,游戏成本也没多少,赚一波钱走了就行了,反正还有更多的IP可以做游戏。然后对于公司来说就可以一直处于赚钱的循环,买IP-->快速做个换皮游戏-->赚一波钱-->继续买IP。这样的结果就是游戏毫无新意,可是公司的影响力在那里,并不会导致什么严重的后果。这对于游戏行业的发展一点好处都没有,只是让老板赚到越来越多钱罢了。我实在觉得这种模式不好。

  • ”一个PM平时或许能玩转很多搞技术的工具,但是当工作需要时,他/她能突然把自己变成一个完全不懂技术的菜鸟用户,从用户的角度来看问题“

    我认为上面的说法是很有道理的,但是这是不是太理想化了。对于一个熟悉技术的PM来说,拿到一个项目之后,肯定会不自觉的从技术的方面思考实现的方法,从用户的角度来看问题肯定是没有问题的,不过还是带着一定的技术观点看项目是不是更好一点。带一点技术的观点,并不会改变作为用户的看法,因为PM本身也是很多软件的用户,这两者之间并不冲突。

  • ”他满意了吗?“

    实现了和用户需求一摸一样的产品,但是实际上并没有达到用户所期望的效果,这与项目组其实并没有太大的关系,这个的问题应该是用户的问题把,项目组已经做了项目组应该做的事情了,对于用户的要求是不是合理这种东西其实是额外的要求了。如果项目组真的细心的考虑了需求的合理性,或者说是适合性,那只能说项目组很认真负责,但是对于一些蛮不讲理的用户来说,这样做反而有可能导致用户的差评。

    对于种事情我的看法很简单。他满不满意我不管,我满意了就行

调研源代码版本管理软件

  • GitHub

    • 优点

      错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。

      快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。

      社区。这个世界范围内极大的开发团队是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻

      共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。

      兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。

    • 缺点

      GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。

      大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。

  • Gitlab

    • 优点

      免费,这意味着用户可以拥有无限数量的私有存储库。当然为了满足客户要求,GitLab也有企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互。

      GitLab在开源许可证下运行。

      错误跟踪和基于Web的代码编辑。

      与LDAP(轻量级目录访问协议)集成,允许在Internet上定位和访问各种资源。GitLab EE支持多种LDAP服务和组同步。

    • 缺点

      界面相对较慢

      存储库常见的技术问题。

  • BitBucket

    • 优点

      对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。

      集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息

      一个集成的查询管理系统。

    • 缺点

      不开源

      系统不稳定

调研持续集成/部署工具

截图种我的名字是lpc??,本来应该是lpc123的,可以看URL中账户的名字

对CI和CD工具的看法
  • 持续集成的好处

    • 快速发现错误,方便技术人员修改
    • 每完成一点更新,就集成到主干,可以快速发现错误,也容易定位错误。保证产品的高质量
    • 防止分支大幅偏离主干
  • 持续部署的好处

    • 方便部署项目到环境上,一只送一些更新,并不影响原有项目,有了新的需求,就可以快速的更改代码并投入使用
  • Gitlab CI/CD 与GitHub Actions 对比

    以下内容来自Gitlab,GitLab CI Capabilities Missing in GitHub

    • 没有插件或第三方组件。
    • AutoDevOps识别代码,并自动设置端到端devops模板
    • 预览应用程序的变化。环境自动停止审查应用程序
    • 组中的子组可以管理大型项目,组文件模板(组级别的模板可以驱动标准化),导航中的组下拉菜单可以轻松地找到组
  • 自己的看法

    gitlab的的YML语法好像更简单一点。,之前用过gitlab部署过ruby项目,还是挺好用的

posted @ 2021-03-17 18:04  lpc??  阅读(86)  评论(1编辑  收藏  举报