个人第1次作业:阅读与准备作业

个人第1次作业:阅读与准备作业

标签: 作业


这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience
这个作业要求在哪里 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/4518
我在这个课程的目标是 掌握一门计算机语言并且能设计出一款应用软件,提高我的代码编写能力
这个作业在哪个具体方面帮助我实现目标 1.动手能力 2.教材学习 3.团队的交流

1.自我介绍

我是一名很普通的大学生,喜欢看动漫、睡觉、看书等一个人做的事情,所以不怎么喜欢社交...
我的优势应该就是做事认真负责吧,缺点就是比较消极。
附上我的博客

2.阅读与思考

回想一下你初入大学时对你所在专业的畅想

  • 当初你是如何做出选择你所在专业的决定的?
    A:当初是在挑一个不用学物理和化学的专业,又对这个专业有点兴趣所以就选择了这个专业。
  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
    A:还可以吧,跟我想的差不多,大多是理论知识的学习,还有就是相关软件的学习。
  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
    A:不是我喜欢的领域,也不是我擅长的领域。
  • 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
    A:要是有得选,我会选择和我专业相关的工作(跨行如跨山...),希望留在成都但还不清楚适合什么公司。

对照前人们走过的路和描述未来发展,现在的你

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
    A:所具备的专业知识是对于遥感、gis的一点点了解吧,技能和能力就是使用部分gis软件(不是很熟练)。写了不到1000条代码,都是在考试前写的c和c#。没做过复杂的项目,因为写的都是很普通的练习题。
  • 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
    A:专业知识边学边忘...动手能力较差,对于软件的掌握程度太低。

目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?
    A:工作
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
    A:优势就是能提前进入社会,感受社会的温暖,比他们能早点适应社会。对比考研和出国的同学,他们会学习到比我更多的知识,体会到更多学习带来的快乐。
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
    A:巩固基础,考过二级和四级,还有就是熟练的掌握相关软件。
  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?
    A:计划如上,准备重新做人!

3.提有质量的问题

1. 第三章 3.2软件工程师的思维误区

一个工程师在写程序的时候,经常容易在某一个局部的问题上陷进去,花大量的时间对其进行优化,无视这个模块对全局中的重要性,甚至还不知道这个“全局”是怎么样的。这个毛病就被归纳为“过早的优化是一切罪恶的根源”。

这里作者提出的观点是过早的优化是罪恶的根源,对于过早优化是万恶之源这个观点我是非常认同的,因为计划总是赶不上变化的,有时候你在编写程序的时候用户的需求就已经有了变化,所以最好在编写完成之后再根据用户的要求进行优化。我想知道这里过早指的是在开发过程的早期还是在还没弄清楚需求的变化趋势的时候就开始优化?

2. 第四章 4.3代码设计规范

函数最好有单一的出口,为了达到这一目的,可以使用goto.

教材中提到goto有助于逻辑的清晰体现,但是我在网络上看到很多人说goto语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。我自己在使用c和c#的时候从来没有使用过goto,所以goto到底在什么情况下有利,在什么情况下会造成不便?

3. 第五章 5.2软件团队的模式

在这一节中介绍了大大小小10种软件团队,每个团队都有各自的特点。当不同的团队接到相同的用户需求时,他们会从哪方面分析并设计软件?团队模式跟团队的开发模式有什么关系?

4. 第十六章 16.1.7迷思之七:成功的团队更能创新

这一节中提到成功的公司有价值观-追逐利润,对于其他几个对成功团队的阐述我表示赞同,但是我不认为成功的公司的价值观都是追逐利润。比如阿里巴巴的公司价值观是客户第一、团队合作、拥抱变化、诚信、激情、敬业。一家成功的公司并不能只追求利益,诚信才是立足之本。

5. 第十二章 12.1.2 从用户的角度考虑问题

微软公司有“吃狗食”的传统,团队成员都尽可能在实际工作和生活中使用自己开发的产品(从内部测试版开始),从而发现问题。

“吃狗食”的做法确实可以发现一些产品的缺陷,但我觉得这种检验方式还有一些瑕疵。因为产品的开发人员和普通的用户对于产品的理解是不一样的,有时候开发者认为不是什么大问题的bug可能在用户看来就是难以理解的问题,所以我不是很赞同“吃狗食”这种做法。

4.了解和调查源程序版本管理工具

  • Git

    • Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
    • 优点:
      适合分布式开发,强调个体;
      公共服务器压力和数据量都不会太大;
      速度快、灵活;
      任意两个开发者之间可以很容易的解决冲突。
    • 缺点:
      资料少(起码中文资料很少);
      学习周期相对而言比较长;
      不符合常规思维;
      代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
  • GitHub

    • GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。
    • 优点:
      GitHub是一个非常万能的工具,对于任何大小的项目,他都是理想的工具;
      他也是伟大的web工作流工具,他可以作为一个版本控制系统和协作工具,用它来发布工作。
      支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
      创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。
    • 缺点:
      上手难度高。
      他可能不是捕捉创意过程和记录创意点子的最佳工具
      将图片内容转 化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
  • Trac

    • Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。
    • 优点:
      Trac做一个SCM配置管理平台,意味着它有良好的扩充性;
      Trac的权限体系是比较完备的设计;
      非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
    • 缺点:
      不支持多项目,
      需求和缺陷没有分离,
      用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了,
      中文化不完整,美术人员接触起来困难重重,
      不显示中文名,本地化做得很差,
      核心功能很少,不安装插件基本上没法用。
  • Bugzilla

    • Bugzilla 是一个开源的缺陷跟踪系统,它可以管理软件开发中缺陷的提交,修复,关闭等整个生命周期。
    • 优点:
      Bugzilla不收费,
      Bugzilla现在有中文版支持
    • 缺点:
      Bugzilla只能管理缺陷

5.一些希望

希望以后能坚持做好每一件事。

posted @ 2019-09-09 16:18  214s  阅读(237)  评论(5编辑  收藏  举报