主题一:每日站会
- 概念
每日站会指的是敏捷开发团队每天进行的15分钟左右的会议 - 举措
让团队成员讨论每日承诺和距离目标的进度,可讨论的问题有过去24小时做了什么?接下来24小时将要做什么?有没有什么问题阻碍了进度? - 目标
①集中检查团队成员的进度
②针对团队成员提出的问题及时讨论合适的解决方案 - 为什么
①敏捷开发依赖于开发团队的自组织特性,而自组织团队依赖于团队的遵守和维护,从心理学角度来讲,公开的承诺大家将会更加努力的去遵守和维护
②敏捷开发强调团队之间的语言沟通,而每日站会将会极大增进团队之间的信赖度
主题二:常见的编程错误思想
- 【不做分析需求】
“需求这么复杂,想也想不清楚,还是写代码来的痛快,赶紧开始写吧,遇到问题再来看澄清。”其实:“编码只是软件开发中的一个环节,在开始编码前,我们要对需求进行充分的分析,与需求人员一起澄清需求细节,这样在开发过程中才会顺畅,也可以减少返工。” - 【不做提前设计】【随意命名】
“我写的代码自己能看懂就行了,反正以后也是我来维护。”其实:“现在我们都提倡代码公有制了,所有人都可以修改所有代码,所以,一定要认真地对待每一个命名哦。除非你希望每一个阅读你写的代码的人都跑过来打扰你。” - 【不看错误提示】
“错误提示都是英文的,好烦,根本看不懂,看了也白看。”其实:“认真阅读错误信息可以大幅缩短定位问题的时间,而且,常见的错误就那么几个,挨个单词查也能很快搞明白哦。” - 【一定要自己解决】
“如果我去问同学或老师,他们肯定会笑话我这么简单的问题都搞不定,不行,我一定要自己解决。”其实:“遇到问题,给自己一个固定期限去解决,超过时间还是解决不了,赶紧找人交流吧。自己憋,憋出来还好,憋不出来很容易打击自信心哦。” - 【不分析根本原因】“我也不知道到底是哪里有问题,反正在这里改一下,Bug 就没有了。”其实:”如果没有找到 Bug 的根本原因,修复一个 Bug,可能会引出 3 个新 Bug 呢。所以啊,一定要找到 Bug 产生的根本原因,斩草除根。“
- 【不复盘记录】
“错误解决了就好,下次不知道什么时候才会遇到呢,记它干啥。“其实:“如果你记录一下,你会发现你常犯的错误就那几个,分析一下就会发现是自己某个习惯或者思维上的问题呢,只要改了思维上的这个 Bug,代码里的 Bug 就不会再出现了。”
-【没有频繁提交代码】
“有必要频繁的commit吗?都是我自己写的代码,我都知道每一步是什么意思,何必那么频繁的提交呢?一个大功能提交一次就行了。”其实:频繁提交代码,让commit历史清晰,有助于理清自己的编程思路,尽早评估出可能的风险。同时,频繁提交代码也有助于code reviewer做代码审查。建议或解决方案:小步、频繁提交代码。我们会规范提交代码时候的信息;
-【没有频繁测试】
“频繁测试? 开发要频繁测试? 我是做开发的好吧, 又不是测试工程师,而且我也没有那么多时间做测试啊?”不频繁写测试,不然会闹怎样? 修改代码时心里没底, 回归不过影响考评, bug乱飞被领导批。开发的测试绝大部分是指自动化测试, 所以频率并不会带来额外的成本, 成本只在于编写和维护自动化测试用例, 而这点开销是包赚不赔的。还是那句话【人是不可靠的,可靠的只有机器】
主题三:学习上的错误思想
- 【懂了原理就行】
“明白了就行,需要的时候自然写得出来。”其实:“你以为的明白并不是真的明白,动手才会发现自己不明白的地方。而且基本的技巧要练到不需要思考,才有更多精力思考业务。” - 【从未实现过自己的想法】
“我学编程就是为了将来找个好工作。”其实:“一旦掌握了编程,你可以用编程来实现自己的很多想法,开发一下脚本来提高效率,甚至开发一款 APP 放到市场上,这才是编程有趣的地方。”
学习上的正确思维
- 【准快省事】
“在编程中尽量让自己使用快捷键,以此提高工作效率” - 【学会 Google】
“尽量使用 Google 来搜索自己想要的答案,Google 搜索的准确性要远高与国产” - 【问题套路】
遇到问题可以先自己思考,借助 Google 、stackoverflow寻找答案,其次是在小组群或者论坛中的提问板块进行提问,以此来提高自主解决问题的能力 - 【以教促学】
学习的最高境界就是以教促学,想要证明自己学会了?那么就去论坛上去和其它童鞋讨论吧,将自己学到的东西发出来教授给其他人,这样不仅可以帮助到他人,还可以提高自己的书面表达能力。
网友评论