《构建之法》——第一次作业

构建之法第一次作业

这个作业的要求是什么                        https://www.cnblogs.com/harry240/p/11469058.html
这个作业属于什么课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign
我在这个课程的目标是 希望能够理解到“做中学”的核心思想,能够获得一些关于编程的原则和方法上面的东西。
这个作业在哪个具体方面帮助我实现目标 首先就是自学,然后在老师的讲解下进行理解,在作业上将“做中学”发挥到另外一个高度。
其他参考文献 《构建之法》

一、建立博客并介绍自己

自我介绍:我是一名大三学生,专业是软件工程。平时就喜欢打打篮球,然后稍微运动运动之类的,毕竟程序员也是很吃身体的,虽然编程能力还不怎么样的,但是身体还是要一直保持健康。除此之外,也喜欢很多东西。平时很少编程,所以这学期开始也有所改变了,想想之前两年也算是耍过去了,这几天也开始让自己忙起来,发现忙起来的时候,虽然累,但是还是比较开心的。还有一两年毕业,也还是希望自己能够提升编程能力,还有编程思想也不应该落下。

二、阅读和思考。

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

      当时也是在报考志愿的时候吧,我本来就喜欢打游戏玩电脑,所以在报考志愿的时候也是先选专业再看学校,所以选择专业是很轻松。但是学着却不轻松了,虽然是很符合我的期待,可是确实是如此,师傅请进门修行看个人,我就是平时并没有用太多时间,所以不敢说什么期不期待的话了。至少目前来说,软件工程仍然是我喜欢的专业,但算不上擅长,因为我感觉我的代码量非常少。对呀将来的话,应该是先考虑从事软件开发的相关工作,应该是会留在成都或者去深圳工作,公司没有具体的想去的,因为想去的估计去不了。

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

     我感觉我现在还不具备多少专业知识和技能,以前学了很多东西,但是都处于初步了解的阶段,要是单独拿一样出来写个项目还是很难的。代码量估计不上千,虽然做了几个项目,但是都是团队合作,而且也在网上找了一些代码,总的来说,能力还是不够。我做的最复杂的项目应该就是之前的联系人管理项目和一个web网站的开发(但是这个是小组项目)。现在的我,离成为一个合格的本科毕业生,在多个方面还是差很多的,如果说再像大一大二那样不够努力,能毕业是能毕业,可是合不合格的大学生的话,那肯定是不合格了。所以现在主要的差距是代码量,经验还有知识的储备。

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

  • 对照以上你阅读的前人们的经历,你的选择是什么?
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?

对于前人的经验,我觉得我的选择是工作,工作的话,优势可能就是能够多一点工作经验,能够更早的接触到真正的大项目,能够学到的东西那自然也是比学校的更多。劣势就是起点低,对于未来的发展也是选择会少一点。所以我对我大三的规划是,补齐前两年的知识盲区,学好大三的内容,利用闲暇时间发展自己,让自己学到更多的知识,多实践,把代码量提上去。对于梦想,现在的我不敢奢求太多,只想脚踏实地先从眼前做起,补齐差距。

三、提有质量的问题

1、第三章3.1内容:3.1中提到了个人能力的衡量和发展,并用了几个例子说明了个人能力衡量的重要性,之后提到了初级软件工程师的几种成长以及软件开发的工作量和质量的衡量,那么个人能力的衡量是否是用软件工程师的几种成长来衡量呢?还有之后47页提到了团队对个人的期望,那这是是个人能力发展的方向吗?

2、第五章5.3内容:这里提到了几种开发流程,包括了每种流程的优缺点,那么能否将其中的两种或者三种进行整合,以一种新的流程出现以应对这原来两或三种流程适合的情况呢?

3、第九章9.3内容:PM做开发和测试之外的所有事情。通过了解PM需要具备的能力,我想:如果是开发和测试之外的所有事情,那能不能继续将PM的权力弱化,再分配一些工作出去给其他人,让每个人都能在一个具体的工作上做到极致。也就是说,PM需要做的东西是不是可能会有点多?

4、第十二章12.3评价标准:在这个内容中,作者提到了设计软件界面的用户界面的几种原则,在我使用各种软件的过程中,有一点是我非常感兴趣的。那就是可变性,也就是能够让用户自己决定用户界面,当然这种可能需要开发更多种类,但是我们只需要针对几种风格即可。

5、第十七章17.3领导力--带领团队成长。这里提到了一个团队的几种阶段,一个合适的领导应该怎么做,这让我想到上学期学的管理学,我在想在每个阶段采取不同的管理方式一个是很好的,但是书中似乎对于如何管理如何体现领导力这一点有点少,是否能多加一点呢?

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

1、git

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

优点:

  • 适合分布式开发,强调个体。
  • 公共服务器压力和数据量都不会太大。
  • 速度快、灵活。
  • 任意两个开发者之间可以很容易的解决冲突。
  • 离线工作

缺点:

  • 资料少(起码中文资料很少)。
  • 学习周期相对而言比较长。
  • 不符合常规思维。
  • 代码保密性差

GitHub:

简介:GitHub是一个面向开源及私有软件项目的托管平台,只支持git 作为唯一的版本库格式进行托管

优点:

  • 可以存档,与让人分享,可以与他人在同一页面对话交流
  • 创建自己的项目并备份,代码不需要保存在本地或者服务器。
  • 可以直接开始不需要设置主机或者DNS
  • bugs可以公开在github评论,提交错误

缺点:

  • 开始学习的阶段需要花费大量时间进行实践。
  • 不是一个捕捉创意过程和记录创意点子的最佳工具
  • 代码保密性差
  • 不符合常规思维

bitbucket:

简介:BitBucket 是一家源代码托管网站,采用MercurialGit作为分布式版本控制系统,同时提供商业计划和免费账户。

优点:

  • bug追踪
  • 灵活的权限控制
  • 自定义域名
  • 同时支持https/ssh

bugzilla

简介:Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。

优点:

  • 强大的检索功能
  • 附件管理
  • web,xml,emai和控制界面
  • 丰富多样的配置设定
  • 安全的审核机制
  • 通过跟踪和描述处理bug

缺点:

  • 界面不太美观
  • 更新节奏慢
  • 只能管理缺陷

 

 

 

 

 

posted @ 2019-09-13 17:13  a王越  阅读(191)  评论(4编辑  收藏  举报