homework03
代码实现真的是大问题……在第二次作业还没有真正实现的情况下只能写这么一篇博客来整理一下从各位大神那里看到的东西。
两个弱菜加起来同样是弱菜,所以我和我的小伙伴的配合就是悲剧的聚合。
首先,大家都说C#图形化相对好做,但是目前为止C++还没写过多少程序,java也没怎么涉及,C#就更力不从心了啊。
对于单进程多次实现功能,看过几个人的博客之后,大概就是些用网页实现,或者管道功能,或者一些很神奇的看不懂的方法。
这次作业的总结也只能写这些了,毕竟没有完成作业,希望我能早日成功完成这样的任务。首要的是学好代码,学好算法。
一些题外话
这次作业最终什么也没写出来,就写一些其他的东西来弥补一下吧。
关于代码规范和代码复审
可以说以前没有注意过这些,只有微微的强迫症迫使我保持缩进。但是编写出一段容易看懂的代码似乎并不像想象中那么容易,现在写的东西只是为了做一些题目的很小的程序,也许没有那么强的感觉。但当我们面对的是几千几万甚至更多行代码的大工程的时候,好的代码规范会带来良好的代码可读性,以及后期的修改优化维护工作也会得到极大的便利。如果直到连自己都不知道自己在写什么的时候才后悔的话,那就来不及了。
对于代码复审,可以简单的将我们写程序比喻成中学时一场考试,自己对自己成果的复审,就像是我们在考试的时候,监考老师常说的,“做完的同学把试题再检查一遍”,是对整个成果的一个整体确认,不单单是反复调试测试,更是对思路的一个重新整理,试图发现思路上的漏洞,以确保思维上没有明显错误;别人对自己成果的复审,更像是老师在阅卷,即使不会那么仔细也能发现不少问题,同样,在作出解释的时候也像是在讲题,透彻的理顺思路,重新全面看代码,排除大多低级错误。整个过程都能使代码做到最好的处理。也是对自己能力的极大提升。
关于结对编程
先谈点别的,关于“好到极限”,我们在生活中就都希望好的东西能更好,越来越好,同样的,我们完全可以把这种思想用到做事上,做一件事情,把我们能用的方法的优点发挥到极致,以达到最优的处理问题,扬长就是在说这个。但是对于我们面前的问题,很多情况下我们都是尽力完成的,尽我们最大的努力我们也许也达不到极致的状态,那么我们就需要一个小伙伴来和我们一起去发扬到极致,应用到编程中,那就是结对编程。以前常常会想到,会不会拖累大神,或者会不会被小白拖累,再或者两个小白放在一起也什么都干不了,只是浪费两人的时间,所以没有进行过结对编程,还有很多时候,总觉得,一个人写,另一个人看,明显是看的人啥都没干,跟在一边歇着是一样的,从来都没有真正明白过结对编程的真正意义。结对编程正是将问题扼杀在摇篮里的好办法,及早发现错误,两人沟通以保证最清晰的思路,同时在心理学上也研究过,两人合作更容易发挥两人的全力,相比之下单人工作时会不自觉的有懈怠感。在真正磨合好之后,结对编程才是真正高效的程序设计方式,结对的两人都能从中得到单人工作所得不到的很多提升。
给人提意见的方法——给一个汉堡包
团队合作,沟通是少不了的,但是很多时候问题也都出在沟通上,不是每个人都会提意见,不是每个人都很乐于接受意见,这两种中的反例碰到一起的时候,就不可避免的碰出火花,很容易导致最终的一拍两散。这就要求我们学会更好的沟通,而不是满满的想干嘛干嘛。提意见要委婉,其实这就是核心,而且不能抓着问题不放,重心要放在我们今后该怎么办,怎么办对整个团体好,在整个任务上更加方便,这样问题就明确了,不需要太多的言语,常用商量的语气,会使问题更加容易解决,也能避免自己的误解带来的不必要的矛盾。