软工网络15个人作业4-alpha阶段个人总结(201521123059 叶文柠)
一、个人总结
(1)
类别 | 具体技能和面试问题 | 现在回答 | 毕业找工作时 |
---|---|---|---|
语言 | 最拿手的计算机语言之一,代码量多少? | 感觉自己没有最拿手的语言,而且拿手的在计算机网络这方面的,所以在软件变成这方面的代码量比较少 | |
软件实现 | (代码阅读能力,实现,单元测试)你有没有在别的代码的基础上改进, 你是怎么读懂别人的代码, 你采取什么办法保证你的新功能不会影响原来的功能? 你在开发中碰到最复杂的bug是什么,你是如何解决的? 这个bug出现的原因是什么,你将来应该怎么样去避免bug出现? |
有在别人的代码的基础上改进, 读别人的代码时我会先从界面录入着手读代码, 先搞清楚有那些输入,做了什么, 有什么输出,然后看看实现了怎么样的功能,多多利用错误调试的技巧,通过断点,日志可以帮助找到别人代码出现问题所在的位置。 还没有遇见过什么最复杂的bug,但是我觉得每个bug都挺复杂的,都需要不少时间去调试, bug 很难避免,尤其在规模化的编程过程中,一些由于逻辑上的疏忽造成的bug,例如数组越界、空栈、格式不兼容等等都是不容易发现的,我们只能是谨慎的设计,避免这些逻辑上疏造成的bug |
|
软件测试 | (测试方法,测试工具,测试实践,代码覆盖率) 你是如何测试你自己写的代码? 你何如测试别人写的代码? 你掌握了多少种测试工具和方法? 你写过测试工具吗? 你如何对一个网站进行压力测试和技能测试? 你如何测试一个软件的人机界面? |
利用的专有的工具进行测试,比如QUnit工具 多多利用错误调试的技巧,通过断点,日志可以帮助我调试 没有 没有 没有 没有 |
|
效率分析 | 效能分析,效能改进 你写过的最复杂的代码是什么?你是如何测试量和改进他的效能的,用了什么工具,如何分析? |
无 | |
需求分析 | (需求分析,典型用户,场景,创新) 你做过多少有实际用户的项目,用户量是多少?你的项目有什么创新的地方? |
还处在学习阶段,还没有什么项目 | |
团队协作 | Work with others(协同工作,提供反馈,说服别人 请描述你在项目中如何说服同伴采用你提出的更好的解决方案, 或者你如何听取别人的意见,改进了自己的方案? 你如何说服懒惰的同伴加紧工作,实现团队的目标? |
给同伴列出自己方案的的好处,尽量同伴知道我这个方案的好处,用实力说话, 如果别人的意见对我的方案有好处的话,我会结合同伴的意见还有自己的方案提出另一个更好的方案, 在管理同伴这方面自己首先要做好带头作用,学会以身作则,这样别人才会听从你的,然后强势一点并给同伴讲明其中的利与弊 |
|
理论素养 | 你上过什么数学,计算机或者其他理论课, 请举具体的例子,说明你学的理论知识如何帮助你解决实际问题。 |
学过C语言、数据结构、JAVA、数据库,高等数学,计算机组成原理、离散数学等 在我们写程序时,很多时候都会用到数据库来存储信息,比如一个教务系统需要数据库存储学生信息、学生成绩等,这时候之前学习的数据库理论就可以利用到了。高等数学可帮助我们增加逻辑思维能力,帮助我们理解算法 |
(2)
编号 | 问题 | 回答 |
---|---|---|
1 | 当你看到不靠谱的设计、糟糕的代码、过时的文档和测试用例的时候,不要想 “既然别人的代码已经这样了,我的代码也可以随便一点啦。” | 一直主动这样做 |
2 | 主动解决问题。当看到不靠谱的设计,糟糕的代码的时候,不要想“可能别人会来管这个事情” ,或者“我下个月发一个邮件让大家讨论一下”。要主动地把问题给解决了 | 不但主动做, 还会影响同事一起做好 |
3 | 经常给自己充电,身体训练是运动员生活的一部分,学习是软件工程师职业的伴侣。每半年就要了解和学习一些新的相关技术。通过定期分享(面对面的分享,写技术博客等)来确保自己真正掌握了新技术。 | 不但主动做, 还会影响同事一起做好 |
4 | DRY (Don't Repeat Yourself)——别重复。在一个系统中,每一个知识点都应该有一个无异议的、正规的表现形式。 | 一直主动这样做 |
5 | 消除不相关模块之间的影响,在设计模块的时候,要让它们目标明确并单一,能独立存在,没有不明确的外部依赖。 | 不但主动做, 还会影响同事一起做好 |
6 | 通过快速原型来学习,快速原型的目的是学习,它的价值不在于代码,而在于你通过快速原型学到了什么。 | 不但主动做, 还会影响同事一起做好 |
7 | 设计要接近问题领域,在设计的时候,要接近你目标用户的语言和环境。 | 不但主动做, 还会影响同事一起做好 |
8 | 估计任务所花费的时间,避免意外。在开始工作的时候,要做出时间和潜在影响的估计,并通告相关人士,避免最后关头意外发生。工作中要告知可能的时间变化,事后要总结。 | 不但主动做, 还会影响同事一起做好 |
9 | 图形界面的工具有它的长处,但是不要忘了命令行工具也可以发挥很高的效率,特别是可以用脚本构建各种组合命令的时候。 | 不但主动做, 还会影响同事一起做好 |
10 | 有很多代码编辑器,请把其中一个用得非常熟练。让编辑器可以实现自己的定制,可以用脚本驱动,用起来得心应手。 | 会定制,并且分享给其他人 |
11 | 理解常用的设计模式,并知道择机而用。设计模式不错,更重要的是知道它的目的是什么,什么时候用,什么时候不用。 | 每写100行程序,我就尽量用一个模式 |
12 | 代码版本管理工具是你代码的保障,重要的代码一定要有代码版本管理。 | 不但主动做, 还会影响同事一起做好 |
13 | 在debug的时候,不要惊慌,想想导致问题的原因可能在哪里。一步一步地找到原因。要在实践中运用工具,善于分析日志(log),从中找到bug。同时,在自己的代码里面加 log. | 不但主动做, 还会影响同事一起做好 |
14 | 重要的接口要用形式化的“合同”来规定。用文档和断言、自动化测试等工具来保证代码的确按照合同来做事,不多也不少。使用断言 (assertion) 或者其他技术来验证代码中的假设,你认为不可能发生的事情在现实世界中往往会发生。 | 不但主动做, 还会影响同事一起做好 |
15 | 只在异常的情况下才使用异常 (Exception), 不加判断地过多使用异常,会降低代码的效率和可维护性。记住不要用异常来传递正常的信息。 | 不但主动做, 还会影响同事一起做好 |
16 | 善始善终。如果某个函数申请了空间或其他资源,这个函数负责释放这些资源。 | 不但主动做, 还会影响同事一起做好 |
17 | 当你的软件有多种技术结合在一起的时候,要采用松耦合的配置模式,而不是要把所有代码都混到一起。 | 不但主动做, 还会影响同事一起做好 |
18 | 把常用模块的功能打造成独立的服务,通过良好的界面 (API) 来调用不同的服务。 | 不但主动做, 还会影响同事一起做好 |
19 | 在设计中考虑对并行的支持,这样你的API 设计会比较容易扩展。 | 不但主动做, 还会影响同事一起做好 |
20 | 在设计中把展现模块 (View) 和实体模块 (Model) 分开,这样你的设计会更有灵活性。 | 不但主动做, 还会影响同事一起做好 |
21 | 重视算法的效率,在开始写之前就要估计好算法的效率是哪一个数量级上的(big-O)。 | 不但主动做, 还会影响同事一起做好 |
22 | 在实际的运行场景中测试你的算法,不要停留在数学分析层面。有时候一个小小的实际因素 (是否支持大小写敏感的排序,数据是否支持多语言)会导致算法效率的巨大变化。 | 不但主动做, 还会影响同事一起做好 |
23 | 经常重构代码,同时注意要解决问题的根源。 | 不但主动做, 还会影响同事一起做好 |
24 | 在开始设计的时候就要考虑如何测试 ,如果代码出了问题,有log 来辅助debug 么? 尽早测试,经常测试,争取实现自动化测试,争取每一个构建的版本都能有某些自动测试。 | 不但主动做, 还会影响同事一起做好 |
25 | 代码生成工具可以生成一堆一堆的代码,在正式使用它们之前,要确保你能理解它们,并且必要的时候能debug 这些代码。 | 不但主动做, 还会影响同事一起做好 |
26 | 和一个实际的用户一起使用软件,获得第一手反馈。 | 不但主动做, 还会影响同事一起做好 |
27 | 在自动测试的时候,要有意引地入bug,来保证自动测试的确能捕获这些错误。 | 不但主动做, 还会影响同事一起做好 |
28 | 如果测试没有做完,那么开发也没有做完。 | 不但主动做, 还会影响同事一起做好 |
29 | 适当地追求代码覆盖率:每一行的代码都覆盖了,但是程序未必正确。要确保程序覆盖了不同的程序状态和各种组合条件。 | 不但主动做, 还会影响同事一起做好 |
30 | 如果团队成员碰到了一个有普遍意义的bug, 应该建立一个测试用例抓住以后将会出现的类似的bug。 | 不但主动做, 还会影响同事一起做好 |
31 | 测试:多走一步,多考虑一层。如果程序运行了一星期不退出,如果用户的屏幕分辨率再提高一个档次,这个程序会出什么可能的错误? | 不但主动做, 还会影响同事一起做好 |
32 | (带领团队)了解用户的期望值,稍稍超出用户的期望值,让用户有惊喜。 | 不但主动做, 还会影响同事一起做好 |
33 | (带领团队) 不要停留在被动地收集需求,要挖掘需求。真正的需求可能被过时的假设、对用户的误解或其他因素所遮挡。 | 不但主动做, 还会影响同事一起做好 |
34 | (带领团队)把所有的术语和项目相关的名词、缩写等都放在一个地方。 | 但主动做, 还会影响同事一起做好 |
35 | (带领团队)不要依赖于某个人的手动操作,而是要把这些操作都做成有相关权限的人士都能运行的脚本。这样就不会出现因为某人休假而项目被卡住的情况。 | 不但主动做, 还会影响同事一起做好 |
36 | (带领团队)要让重用变得更容易。一个软件团队要创造一种环境,让大家有轻松的心态来尝试各种想法 (例如,模块的重用,效能的提升,等)。 | 不但主动做, 还会影响同事一起做好 |
37 | (带领团队)在每一次迭代之后,都要总结经验,让下一次迭代的进度安排更可靠,质量更高。 | 不但主动做, 还会影响同事一起做好 |
38 | (带领团队)团队中往往会有矛盾产生,作为领头人,怎么办? | 不但有明确和一致的处理原则,而且对于影响团队士气的任何事情追究到底 |
二、回答问题
问题1:为什么要结对编程?结对编程有益于编程的复审和交流,那么几人的结对编程更有利于提高编程的效率呢?
- 结对编程是课程需要,而且有利于跟好的提高自己更方面能力,结对编程还是两个人比较适宜,分工也比较合适
问题2:在读此书之前,我一直以为当一个团队确定了负责一个项目之后,他们的成员不会再有所修改,会对所负责的项目负责到底。但实际上,软件团队是会流动的。为什么要有人员的流动呢?是出现了现有团队解决不了的技术困难,需要新技术新知识的支持,还是现有团队身担多职,需要人手帮忙?另外,不止是软件程序会有bug,团队也会有bug。此时我们该如何去最好的的处理bug? - 我觉得是培养我们在团队人员变动时对整体的调整能力,因为在工作时没有人能保证在一个公司一个岗位上一直待下去,如果公司中有人走的话就需要这样的调整。出现bug是不可避免的,不论是开发前期还是后期都会出现大大小小的BUG,所以我们只能谨慎的处理,尽量减少bug,在编写时变量名书写要规范,添加必要的注释,还有代码书写要规范,同时自己也需要掌握以下测试手段,这样的会有利于我们发现并解决bug
三、再提问题
- 1、对于文中提到的敏捷开发,因为现实中需求一直在变,如果前后需求差别很大,怎么样细化每个成员的任务?
- 2、在中期时大家的个人项目和结对项目都没有进展的情况下,估计大家都在忙于团队项目没时间或者不想做了,老师仍然继续发布相同的作业要求,个人感觉意义不大。或者换一下作业内容效果应该比较好。
- 3、在团队的软件开发过程中如果遇到技术瓶颈,是否应当删掉某部分功能或者外包给别人做?
- 4、市场上有许多新开发的软件,这些软件有的一夜之间下载量飙升,有的却不了了之,也有的在一段时间内飙升后再被淘汰,那么如何才能让自己的软件能长期立于败之地我们要做些什么,怎样去做?
- 5、代码复审的时候如果新的人员的加入有新的想法,要增加或改变功能,那是究竟是效率优先,还是创意优先呢,还是折中处理呢?
软工网络15个人作业4-alpha阶段个人总结(201521123059 叶文柠)的更多相关文章
- 软工网络15个人作业4——alpha阶段个人总结
软工网络15个人作业4--alpha阶段个人总结 一.个人总结 用自我评价表:http://www.cnblogs.com/xinz/p/3852177.html 总结Alpha冲刺过程. 由于直接用 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺1.0
软工网络15团队作业4--Alpha阶段敏捷冲刺1.0 1. 各个成员在 Alpha 阶段认领的任务,以及整个项目预期的任务量(使用整数表示,与项目预估的总工作小时数一致.比如项目A预估需120小时才 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺2.0
软工网络15团队作业4--Alpha阶段敏捷冲刺2.0 1.提供当天站立式会议照片一张. 2.每个人的工作 成员 昨天已完成 今天计划完成 郭炜埕 熟悉微信web开发者工具 完成新建话题界面的设计 郑 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺3.0
软工网络15团队作业4--Alpha阶段敏捷冲刺3.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 成员 昨天已完成 今天计划完成 郭炜埕 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺4.0
软工网络15团队作业4--Alpha阶段敏捷冲刺4.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 成员 昨天已完成 今天计划完成 郭炜埕 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺6.0
软工网络15团队作业4--Alpha阶段敏捷冲刺6.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 成员 昨天已完成 今天计划完成 郭炜埕 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺8.0
软工网络15团队作业4--Alpha阶段敏捷冲刺8.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 2.1 任务完成安排: 成员 昨日已完成 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺-1
各个成员在 Alpha 阶段认领的任务 成员 Alpha 阶段认领的任务 肖世松 编写界面设计代码 杨泽斌 服务器连接与配置 叶文柠 数据库连接与配置 谢庆圆 编写功能板块代码 林伟航 编写功能板块代 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺
Deadline: 2018-4-29 10:00PM,以提交至班级博客时间为准. 根据以下要求,团队在日期区间[4.16,4.29]内,任选8天进行冲刺,冲刺当天晚10点前发布一篇随笔,共八篇. 另 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺(一)
第 1 篇 Scrum 冲刺: 各个成员在 Alpha 阶段认领的任务 成员 任务 预期任务量/小时 曾艺佳 学习模块:单词及其释义 单词发音 例句学习 添加笔记 ...
随机推荐
- hive 入门
hive-site.xml 配置 <configuration> <property> <name>javax.jdo.option.ConnectionURL&l ...
- For-each Loop,Index++ Loop , Iterator 那个效率更高
平时在写Java/C# 程序的时候,会写很多的Loop 语句,for() 及 Iterator loop 及Java 8 的foreach Loop, 这些Loop 那种效率最高呢?写个小程序测试一下 ...
- 嵌入式LInux之C语言提升篇---Skr Skr Up Up
嵌入式C语言提升 致敬:每一个奋斗的人! Up Up UpC语言常见编译错误1.预处理错误 -E 1-1 找不到源文件错误 自己定义头文件 使用 “xxx.h” 搜索的目录 ./ ...
- python学习笔记:第19天 类的约束、异常、MD5和logging
目录 一.类的约束 二.异常处理: 三.MD5加密 四.日志(logging模块) 一.类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构.也就是说,在分配任务之前就应该把功 ...
- FPGA算法学习(1) -- Cordic(Verilog实现)
上两篇博文Cordic算法--圆周系统之旋转模式.Cordic算法--圆周系统之向量模式做了理论分析和实现,但是所用到的变量依然是浮点型,而cordic真正的用处是基于FPGA等只能处理定点的平台.只 ...
- F. Make It Connected
题目链接:http://codeforces.com/contest/1095/problem/F 题意:给你n个点,每个点有个权值,如果在两点之间添一条边,代价为两点权值之和.现在给出m个边可以选择 ...
- Codeforces Round #482 (Div. 2) :B - Treasure Hunt
题目链接:http://codeforces.com/contest/979/problem/B 解题心得: 这个题题意就是三个人玩游戏,每个人都有一个相同长度的字符串,一共有n轮游戏,每一轮三个人必 ...
- LeetCode初级算法的Python实现--字符串
LeetCode初级算法的Python实现--字符串 # 反转字符串 def reverseString(s): return s[::-1] # 颠倒数字 def reverse(x): if x ...
- 北京Uber优步司机奖励政策(4月8日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 成都Uber优步司机奖励政策(2月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...