相较于我的项目着重培养独立解决问题的能力而言,结对编程提供了一个共同进步的机会。经过分析对方的代码,咱们能够经由对方的优势而见贤思齐,能够经由对方的不足而互助共勉。如今,我想谈一谈我对志豪同窗工程文件优缺点的理解。算法
我认为,实现需求是软件开发的第一步,在这一点上志豪同窗几近完美。他不只仅是实现了逻辑层面上的出题功能,也没有知足于不够便利的命令行输入,而是作出了友好度更高、可用性更好的图形用户界面。密码输入时作暗文处理、切换类型时按钮“三选一”、一键切换帐号、“生成试卷”按钮提示试卷类型、Console同步输出、使用相对文件夹输出txt文件,这些细节无一不体现出他的设计之用心。也正因于此,软件的使用体验非常出色。金无足赤,我认为若是生成试卷以后程序可以弹框提示,那么会更加完美。txt文件中题目没有标明题号,也是一个小小的不足。编程
谈完使用体验,如今回到代码自己。我认为代码所体现的面向对象的编程思想很值得学习。用不一样的类分别表示登陆窗口、帐号匹配功能、出题功能、出题窗口与类型切换窗口,经过建立对象、事件处理、方法调用等方式实现功能之间的切换,这是很是棒的设计理念。GUI各种组件的合理使用与调用一样体现了设计者设计之巧妙,程序中的异常处理体现出设计者扎实的Java编程基础。很惭愧,我没有设计图形用户界面,而是在代码美化、性能优化上多下了一些功夫,因此我或许更能注意到一些细节并提出一些改进建议。但愿共同窗习进步,取长补短,力争在接下来的结对编程中设计出更加出色的项目。数组
对《Java编程思想》的研读帮助我养成了比较规范命名习惯,习惯上类的首字母大写,变量与方法的首字母小写,辅以驼峰式命名法,即用大写字母标记每个逻辑断点。尽可能取有意义的名字,比方说实现帐号匹配功能的类我更倾向于取名“AccountsMatch”,实现出题功能的函数我更倾向于命名为“setQuestion”。此外,我认为仅处理error而不去重视warning是一个比较很差的编程习惯,考虑到代码中仍未处理的warning大可能是一些无用的import,我更推荐删去这些import。同时,我建议在代码中添加更多注释以增长可读性,这样在结对编程时会更加顺利。除此以外即是一些算法与数据结构上的完善,好比,在出题功能的实现过程当中,我更推荐使用数组存储操做符,出题时取随机数做为索引会更加方便。性能优化
但愿咱们能在结对编程的学习过程当中相互学习、共同进步。志豪同窗编程习惯上的优势与出色的逻辑思惟能力值得我认真学习,我也会不吝本身所学,提供最用心的建议。加油!数据结构