第一次阅读作业
本次作业属于的课程: https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1
作业要求:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713
我在这个课程的目标:学会软件开发过程中的各种实用技术与开发软件的思想过程
这个作业在哪个具体方面帮助我实现目标:促使我自己去从书中与其他软件开发大师和学霸那里发掘自己所需要的东西
我的博客地址:https://www.cnblogs.com/hehengzhengwenjuan/
正文:
一 . 自我介绍:
我是一个在陌生人面前害羞紧张,爸妈所谓牵不出世,但在熟悉人那里却撒泼耍贱的男生。爱唱歌但不好听,喜欢玩儿游戏但技术不行,喜欢写小说但总是卡文以至于写不多,喜欢打乒乓球但打不好,总之是不多也不精,过得失败但万幸知足常乐,除了日渐稀疏的头发其他都活得不慌不忙,还会伤春悲秋,念叨着不想长大但终究不可避免地长大,特别是去年嫂子的一句“你真的长大了”戳破了我幻想的泡沫,伤感的同时也有一丝小自豪——我也算个成年人啦。PS:嫂子说那句话是因为我去年找了个优秀的女朋友,要扯证的那种。
二 . 阅读与思考:
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
答:当初想着电脑方面好就业,自己也喜欢玩儿游戏,希望能开发出自己喜欢的游戏,第一志愿就是本着软件工程来的。
-
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
答:还是比较符合,因为学习不能一口吃成胖子,总要慢慢来,而过去两年的学习使我对编写代码有了一定的热爱。
-
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
答:软件工程是我喜欢的领域,但我并不太擅长它。
-
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因。
答:将来会选择从事软件开发相关的工作,我想就留在成都做一名软件开发工程师,但是暂时还没有想好想去的公司。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
-
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
答:会一些基础的编程知识,写过的代码量较少,只是完成了老师平常的要求。
-
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
答:了解甚至能熟练使用各种编程语言,能参与团队完成一些简单的工程项目。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
-
- 对照以上你阅读的前人们的经历,你的选择是什么?
答:考研继续深造并参与实际的工程项目。
-
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
答:我的优势是有个可以辅导我的女朋友,劣势是我的成绩不太好,而且还比较懒惰。
-
- 针对你的选择,你给自己的大三设定的规划安排是什么?
答:改掉以前的臭毛病,好好学习考研要考的科目,同时抓住各种机会锻炼自己的交际能力和面试技能。
三 . 提问题:
- 第四章第一节中讲到代码规范,让我想到现在的各种各样的编程语言,在这些编程语言中各自又有不同的规范,不同的语言体系,相互之间有相似之处也有不同之处,为什么我们不能把这些语言进行统一,取一个最优的语言或者融合成一个最优的语言一起统一呢,既方便学习也方便日常的开发维护和开发人员相互之间的交流。
- 看到书上很多地方应用了英文单词,自己在平时写代码的时候也经常遇到那些报错全是英文或者写代码必须全英文的情况,而我自己连英语四级都还没过,很多报错看不懂只能凭经验去找错或者查辞典翻译,我们是否能将开发软件中报错的部分转换成中文,甚至将编写代码的部分可以是中文输入,当要与外国人进行技术上的交流时又能自动转换成英文,毕竟中文也在渐渐变成国际语言。
- 第十六章第一节第五部分中讲到了先行者,先发优势,后行者,后发优势,按照书中举例和我自己百度看来,似乎在市场上最终成功的、成为带头者的都是那些后行者,那么是不是可以理解成后行者一定比先行者更占优势呢?如果先行者进行了规模化生产并且顺应时代不断更新自己以满足用户的需求,那么先行者是否能成为行业的带头者呢?
- 第十六章第一节第七部分详细讲解了成功的团队反而不容易创新,结尾时一段黑字说成功的团队也可以创新,那么成功的团队要如何进行创新呢?
- 第十六章第一节第八部分讲创新者不是冒险家,创新者不喜欢冒险也不躲避风险,我是否能理解为不躲避风险其实就是冒险,毕竟创新本身就具有风险,而冒着风险进行一项创新,提出一种新的技术、看法或者说做一种新的东西本身就是冒险,虽然创新者自己未必喜欢冒险,但既然想要创新,那就是冒险,他也就是冒险家。
四 . 源程序管理工具:
优点:适合布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。
缺点:资料少(起码中文资料很少)。学习周期相对而言比较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
(注:摘自狗尾草的博客文章《git的优缺点》)
Trac:
优点:Trac做一个SCM配置管理平台,意味着它有良好的扩充性。Trac的权限体系是比较完备的设计。非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成
缺点:不支持多项目。需求和缺陷没有分离。用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了。中文化不完整,美术人员接触起来困难重重。不显示中文名,本地化做得很差。
从核心功能很少,不安装插件基本上没法用。
(参考于悦:管理软件的优缺点)
BUGZILLA:
优点:BUGZILLA不收费。BUGZILLA现在有中文版支持。
缺点:BUGZILLA只能管理缺陷。