代码改变世界

第一次作业:阅读与准备

2019-09-13 15:43  JOJO的奇妙代码  阅读(626)  评论(1编辑  收藏  举报

第一次作业:阅读与准备

所属课程 课程的链接
作业要求 要求链接
课程目标 深入了解并区分程序、软件、软件工程、如何将开发软件工程化。
课程受益 让我明白了程序与软件的区别,以及软件开发工程化的历史。

一、个人介绍

1、个人信息
姓名 潘伟键
学号 201831061312
博客地址 博客地址
2、自我介绍
我是西南石油大学2018级计算机科学与技术专业的潘伟键,其实上我感觉自己仿佛昨天还是一个高中生,完全没有对大学生活做好准备,就浑然不知的成为了大二的“学长”,我十分清楚我性格十分消极,明明心中早已暗自绘出人生大好蓝图,但却发现自己不可力及,而又不想出力,这也许就是我大一的迷茫。。。但是我也不想大学过后,空留遗憾,计算机专业是需要实践和代码量的,内向、消极是改不了了,但是我会努力将大学内的学好,努力扩展大学外的知识.

二、阅读与思考

1.当初是如何做出选择现在专业的决定的

这个问题其实我很早的时候就多次问过了自己,高考结束后,如同紧绷的弹簧,突然被放开,自然就是一天都在玩,哪有什么心思想什么该选那个专业,并且在高中哪有时间了解这些专业具体是什么,当然是凭看到这个专业名字的第一感觉了,“计算机科学与技术”,我乍一看就觉得很高大上,黑客什么的,什么靠研发一个软件就资产过百万的,并且听亲朋好友说这个专业目前十分热门,这也是个促因。

2.你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?

比较符合,大一这一年,通过对c语言的学习,我也明白了计算机是如何运行的了,通过语法编写程序,对计算机下达指令,我们平时那些那些所见的游戏程序也是多条指令有序运行的结果,并非我所现象的那样神秘。作为一个十分热爱游戏的人,当我也编写好一个程序能正常运行的时候,我十分有成就感。我也十分期望之后能编写出一个自己的游戏。

3、你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?

可以说我对这个专业还是比较喜欢的,目前来说擅长还差得远,但是我认为爱好是最好的老师,我相信不久之后就能。

4、将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因。

当然,从事一个自己喜欢的行业,是每个人都梦寐以求的,以后我如可可以我想在成都找一份软件工程设计师。

5、自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。

个人感觉我只是处于入门阶段,也就了解一下c语言的基本,感觉代码量也只有2、3千,没错,最复杂的项目也就是我c语言最后的实践作业,贪吃蛇,也只不过是按照代码抄一遍。

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

可以说判若云泥,我也就对c语言比较了解,也不能说精通,也没有什么比较突出的技能,我觉得一个合格的毕业生应当有比较灵敏的思维,能写出高效率的算法。

7、对照以上你阅读的前人们的经历,你的选择是什么?

 我打算考研,进一步深造,争取能考一个更好的学校,提升自我的技能。

8、在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

我个人虽然不是那种十分积极的人,但是我只有认定要做一件事,我就不会放弃。

9.针对你的选择,你给自己的大三设定的规划安排是什么?

大三自然就应该开始为考研做准备了,多刷刷往年的考研题,争取能一次性考到满意的学校。

10.你对于实现自己的梦想已经做了或者计划做什么样的准备?

我计划将设计到考研内容的学科着重学习,不仅要做到不挂科,还要能拿高分。

三、提出问题

1.问题一 我们是科学家?还是工程师?(第一章)

我认为软件工程虽然是一门工程,但它又与其他工程差别较大,我们不仅需要考虑结构,又要考虑逻辑算法,甚至有些时候我们还会牵扯到物理学、数学等其他科学,材料学、所以我认为我们既是科学家又是工程师。

2.问题二 创新是独辟蹊径,还是改良改优?

我们这个行业创业精神是必须的,但是我们该如何创新,是创造?还是改良?我们it行业发展日新月异,我个人认为it行业的创新是一小步一小步快速的移动而不是猛地一大步,所以我们的创新应当更加注重对以往的改良.

3.问题三 是当猪、还是鸡、还是鹦鹉?

我是否可以理解成码农是猪,软件工程师、设计师是鸡,老板或者用户是鹦鹉?

4.问题四 软件工程师和基层写代码的各占一个软件工程的多少?

我认为工程师和基层人员64分,所谓上梁不正下梁歪,现在已经有许多能自动填充代码的软件,所以我认为只要工程师充分分析客户需求打好框架,一个工程大多都能完成。

5.问题五 用户体验,和编程进度两难是,哪个更重要?

我们是否把用户的一切要求都满足,当两者两难是,我们应当优先考虑哪一方?

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

Git.

优点
1. 适合分布式开发,强调个体。
2.公共服务器压力和数据量都不会太大。
3.速度快、灵活。
4.任意两个开发者之间可以很容易的解决冲突,离线工作。
缺点
1. 模式上比SVN更加复杂。
2.不符合常规思维。
3.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

GitHub.

优点
1. 完整的支持Markdown语言,而且支持Emoji表情
2.支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持)
3.比较好的支持Mobile。
4.使用github原生的功能,就可以进行类似评论的功能
5.功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。
缺点
1. 国内访问速度太慢,经常出现connect time-out
2.不能很好的解决GB2312/GBK,对中文不够友好
3.wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点(对企业而言)
4.免费套餐不支持私有项目,无非解决企业内部的需求,github:fi价格过高

Microsoft TFS

优点
1. 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。
缺点
1. 搭建、维护tfs比较复杂,硬件要求也比较高。