第一次作业
第一次阅读和准备作业
这个作业属于哪个课程 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
这个作业要求在哪里 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
我在这个课程的目标是 |
了解并掌握一些关于软件工程的知识 |
这个作业在哪个具体方面帮助我实现目标 |
对专业信息和方向有了更深入的了解 |
一.建立博客并介绍自己
我是软件工程三班的一名学生,是个网瘾少年,平时喜欢打cf,lol,吃鸡,在一个暑假通过自学编程喜欢上了这一行业,所以决定加入编程的行列。
二.阅读与思考
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
喜欢并且觉得编程很酷并且假期有时间自学了一些c语言和易语言,自学后发现自己很喜欢编程,所以决定加入这一行。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
符合,因为这些课程都是软件编程的基础课程,通过这些课程使我的编程能力从入门到逐渐熟练。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
是我喜欢的领域,擅长可能算不上,不过我相信经过一段时间的努力后就能算得上。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
会,以后准备就在四川境内找工作,应该会去成都谋发展,想做一名游戏开发工程师。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
c.c#.java.数据库都已经掌握了基本的语法,并且能够通过编程一些有趣的程序来应用,已经写过的代码不好计算,但是翻了下现在的代码文件夹,里面都已经超过100个项目和源文件,5000肯定不止。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
主要感觉还是差的是计算机内部的一些运行原理,比如说内存和线程这些的工作方式,我觉得缺少了这些知识写出来的程序考虑不到这些方面,导致不够优秀。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
我个人的话我是准备毕业直接参加工作的,但是家里人建议考研,我又有点不太自信,还在考虑,但是我觉得没什么意外我还是会直接参加工作。
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
早点参加工作会相比其他人更早的接触社会,拥有更多实战工作经验,了解到更多关于这一行的现状。
- 针对你的选择,你给自己的大三设定的规划安排是什么?
学习到更多的专业知识。
三.提有质量的问题
1.
3.3软件工程师的职业发展
书中在这一章节提到了“全栈工程师”的概念,那究竟是向某一方向领域一直发展下去还是向“全栈”的方向发展更有利呢?
2.
4.5结对编程
我觉得这种编程方法在大佬带新人的时候可能有效,但是在两个都是编程“老鸟”的情况下这种方法未必好吧?
3.
4.7练习与讨论
书中在这里讨论到了阅读别人的代码,阅读别人的代码是一件不容易的事情,那么除了多写注释之外还有那些技巧和方法能让自己的代码更容易让别人读懂呢?
4.
8.1软件需求
这一章节讲到了获取软件需求,那么如何分析和验证用户提出的需求是否可行或者在所能承受的制作成本内?
5.
9.2.1交流成本问题
书中在这里提到了团队间的交流,那么当这个团队极其庞大的时候如何能保证团队中的正常交流?
四.了解和调查源程序版本管理工具
根据网上搜索的一些资料写的
1.Git优缺点
优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、学习周期相对而言比较长。
2、不符合常规思维。
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
2.Github的优缺点
优点:
GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作
利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。
学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误。在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。
缺点:
如果,你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。
他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
这是由设计者决定的,然而,一些人发现 GUI 有点混乱,选择CLI代替。一些开发人员学习主要使用Git命令,这样可以解释为什么他们不太喜欢GUI的原因了。稍加练习,命令的学习是不太困难的。然而,你喜欢天天写命令吗?特别是跟踪项目历史或解决冲突的时候。所以就有了另外一群喜欢 GUI的人们。将提交、修改、移动文件等操作可视化,会有一个更好的体验。而这些,就如之前提到的,需要时间来适应。
如果,你专门在GIthub上工作,版本控制存储库就值得你拥有,也需要你长期付出。
3.Trac的优缺点:
优点:Trac做一个SCM配置管理平台,意味着它有良好的扩充性
Trac的权限体系是比较完备的设计
非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
缺点:不支持多项目,
需求和缺陷没有分离,
用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了,
中文化不完整,美术人员接触起来困难重重,
不显示中文名,本地化做得很差,
核心功能很少,不安装插件基本上没法用。