《构建之法》我的第一次做业

这个做业属于哪一个课程 课程的连接
这个做业要求在哪里 做业要求的连接
我在这个课程的目标是 正如书名,但愿能略懂《构建之法》,运用其精美的内涵丰富本身的程序人生
这个做业在哪一个具体方面帮助我实现目标 本次做业从开始使用博客,让我认识到写博客对程序员的学习相当重要,以及应用书中的构建美妙,尤为是后面的“敏捷流程”的内涵,使得我受益不浅。
个人博客主页 https://home.cnblogs.com/u/etron/
其余参考文献 百度搜索引擎,其余人优秀博客,菜鸟教程

1、自我介绍

我是谁呢?html

很难经过一两句话展现一我的的灵魂。java

由于自我展示给别人的东西和别人理解的,mysql

都将随着各自的感官在本身的心灵加上滤镜。git

因此只须要简单地介绍下我这里的滤镜:程序员

  • 身份:年满20,软件工程专业,大三学生
  • 目标:但愿取得与时间付出对等的工做
  • 兴趣:爱读书,不求上至天文,下至地理,但求作事有本身的思考,了解足够的历史
  • 优点技能:无,人外有人,天外有天
  • 爱好:一切能让本身开心的事

2、阅读与思考

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

  • Q:当初你是如何作出选择你所在专业的决定的?web

    A:在哥哥的人生经验上,为我提出建议后,我下定决定作出的选择。算法

  • Q:你认为过去一(两)年中接触到的课程是否符合你对你本身所在专业的期待,为何?sql

    A:不符合。缘由在于自身没有更加认真对待某些学科,致使如今欠下了一些学习账须要去弥补,好比设计模式。数据库

  • Q:你以为你所在的专业是你喜欢的领域吗?它是你擅长的领域吗?编程

    A:不能直接说是我喜欢的,只能说不是我所讨厌的,全部我不讨厌的都是我喜欢的。擅不擅长都没有意义,目前的编程都是熟能生巧。

  • Q:未来你会选择从事和你专业相关的工做吗?是的话给出你想去的城市、公司和岗位,否的话给出缘由。

    A:大几率从事计算机相关专业的工做。我想去的城市,公司和岗位如今憧憬都没有意义。城市不够了解,也没有特别讨厌的,公司看到时候是否有人要,岗位看本身的水平。

(2)对照前人们走过的路和描述将来发展,如今的你

  • Q:自我感受你已经具有的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你作的最复杂的项目

    A:已经具有:熟悉C,熟悉C#,熟悉mysql,熟悉javaweb,熟悉数据结构...

    ​ 代码量:不曾统计。低于一百万,高于五千。

    ​ 最复杂项目:本身的博客网站。

  • Q:离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?

    A:差得远,最差的是底层知识的学习:数据库,操做系统,计算机网络...

(3)目前是一我的生选择的十字路口,考研、工做、考公、出国,不一样的选择在大三就有不一样的努力方向。而不管考研仍是工做的每条路径,也有许多不一样的分支。

  • Q:照以上你阅读的前人们的经历,你的选择是什么?

    A:工做,期待实习的本身,期待步入社会的本身,期待一切未知的事情。

  • Q:在这种选择下,你认为你相比其余同窗来讲有何优点,有何劣势?

    A:个人优点其实也是你们都有的优点,在一件事情上花费足够的时间。

  • Q:针对你的选择,你给本身的大三设定的规划安排是什么?

    A:课程认真对待,线下多coding。大三有机会就提早去实习。

  • Q:你对于实现本身的梦想已经作了或者计划作什么样的准备?

    A:梦想在我看来不用说,只须要去作。理想才须要计划,准备。

3、提有质量的问题

  • 构建之法12.1.2中提到理解别人的处境,心境,动机的能力是同理心,软件团队的设计师和软件工程师也须要同理心。我就在想站在别人的角度去考虑问题这点是很好的,可是做为软件工程师的话若是都从别人的角度去考虑本身软件设计的因素的话须要考虑的角度就会特别多,例如设计者,用户,上层等等,并且每一个角度看到的东西又都是大相径庭的,这时候咱们要怎么作才能更好的兼顾全局?
  • 同时,这样的话会浪费更多的时间去调试,咱们又该怎样在规定的工期时间内完成用户的种种需求,这显然是很是很是麻烦的,要作好一个知足所有要求的软件显然是不现实的,咱们又该怎么取舍?
  • 12.5中向咱们提了一个问题:什么是用户体验何时开始考虑用户体验?从不一样时间段去考虑用户体验显然会带来不一样的问题,那存不存在一个最好的时间点呢?
  • 14.1.1中提到软件质量=程序质量+软件工程质量 软件工程的质量又有三个特性:好,快,便宜。那么假如一我的或者一个团队开发软件的过程当中过无法作到这三点,我认为最重要的是好,但想了想,在规定的工期内既然无法作到快,那也很难作到好了,那么对于一个软件开发过程,这三点那一项是相较于其余两项要更占主导位置的呢?
  • 书16章在介绍产品了,其中举了个魔方创新的例子,魔方产业中出现了种种的竞争者,笑到最后的确是那名技术不够硬,产品不够好,出现时间不够长的一位,只由于他作到了客户的需求。那么我就在想,在现实社会中一个产品的营销中也会产生不少不少的竞争者,咱们可以支抓住目标用户的需求就能够脱颖而出吗,在这以前不须要磨练出过硬的技术生产出过硬的产品吗?

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

Git:早已听闻git版本控制的大名,得益于课程的需求可以深刻开始了解一下。

如下解释来源于菜鸟教程:

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。

Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制版本。

Git是经常使用的版本控制工具CVS,Subersion等不一样,它采用了分布式版本库的方式,没必要服务器端软件支持。

SVN:

Apache Subversion一般被缩写成SVN,是一个开放源码的版本控制系统,Subversion在2000年由CollabNet Inc开发,如今发展成为Apache软件基金会的一个项目,一样是一个丰富的开放者和用户社区的一部分。SVN相对于的RCS,CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

SVN是一个开源的版本控制系统,也就是说Subvserion管理者随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变更。这样你就能够把档案恢复到旧的版本,或是浏览文件的变更历史。

CVS:

CVS是一个C/S系统,是一个经常使用的代码版本控制软件。主要在开源软件管理中使用。与它相相似地代码版本控制软件有subversion。多个开发人员经过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。可是因为以前CVS编码的问题,如今大多数软件开发公司都使用SVN替代了CVS。

Git与SVN区别:

Git不只仅是个版本控制系统,它也是个内容管理系统(CMS),工做管理系统等。

Git与SVN区别点:

  • 一、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
  • 二、Git 把内容按元数据方式存储,而 SVN 是按文件:全部的资源控制系统都是把文件的元信息隐藏在一个相似 .svn、.cvs 等的文件夹里。
  • 三、Git 分支和 SVN 的分支不一样:分支在 SVN 中一点都不特别,其实它就是版本库中的另一个目录。
  • 四、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺乏的最大的一个特征。
  • 五、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时下降对版本库的破坏。

相关文章
相关标签/搜索