结对编程总结
本次结对编程是以程延博同学的代码为基础修改而成的。
个人项目的复用:
结对编程中的出题逻辑直接使用了原个人项目中的出题代码,只是在其上添加了计算算式结果的代码。
在结对编程中新增添的部分包括:
登录,注册,设置密码修改密码,题目显示,结果显示等界面
算式的结果计算和分数统计
密码的设置存储和修改
手机验证码注册功能
密码格式,手机号有效性,题目数量范围等的检测
一些经验总结和教训:
界面:
界面使用的javaSwing,认识了一系列API和类,包括像BorderLayout等的各种布局的使用,Jbutton,jPanel,JcheckBox,JFrame,JtextField等等。学会了基本的java Swing页面的编写,各种属性的设置,以及页面之间的跳转(这里使用的是setVisible直接让不需要的页面不显示)
页面看起来就简洁明了!
手机验证码:
在这里使用的阿里云的短信服务,刚开通的时候有100条免费短信包所以非常方便。阿里云的官方文档已经详细地说明了如何使用短信服务,并且还有demo可以参考。
我们要做的只是申请服务,签名,和模板,等待审核,根据他们给出的demo将其中的部分内容修改为自己的内容(比如AcessKey,签名模板等)
这是我第一次使用云服务,感觉很方便,也很神奇。
这里有个小教训就是阿里云的那个文档里并没有把模板那部分代码到底要修改成什么写清楚,我以为是模板名称就行,后来才发现其实还有个模板ID,这个小失误导致我傻傻地改了很久bug。
不过有了这次关于云服务的试用体验,我觉得以后学习起这方面应该也会更容易吧
关于Maven工程:
在看阿里云官方文档的时候,看到写的是推荐通过添加Maven依赖的方式来安装阿里云的Java SDK。所以特意去了解了一下Maven,他其实是一个项目管理工具,能够帮助我们简化构建过程,更方便地管理自己的文件。
关于Maven的安装和Maven与eclipse的集成有兴趣的同学可以去看我的另一篇博客Maven的安装和eclipse的集成
总之,在了解到这些之后,我将项目转换成了Maven项目,
然后通过上面的方法将阿里云短信服务所需要的核心库添加到项目工程中,之后就可以使用阿里云的短信服务啦!
密码的设置修改和存储:
这里仍然使用的是txt文件存储的方式。只要通过BufferedReader,fileReader,fileWriter等输入输出流就可以实现txt文件的存储方式。
密码的修改有一些难度,因为如果通过指针定位到txt文件中某一行容易发生一些不可预计的错误,所以这里修改密码的方式采取的是直接将整个文件(所有的账号密码)读出来,修改需要修改的部分,然后再将整个文件重新写回去。这样其实显得有一些麻烦,以后有机会可以尝试用数据库来做账户的管理。
阅读代码:
在这里不得不提一下我阅读队友代码的体验。这让我深刻地体会到了别人的代码到底有多难理解。尤其是在注释还比较少的情况下。
这也暴露了我们以后在团队合作中可能出现的一个问题,那就是代码的不规范和注释的不清晰导致的工作效率严重下降!也算是给团队项目提了个醒吧,在开始之前,大家最好统一一下代码的规范,并且最好在必要的地方编写注释。
正则表达式
为了检测密码和手机号的有效性,特意去仔细了解了java的正则表达式,收获了很多,这确实是一个对于处理字符串来说非常好的工具!
比如说就通过下面短短的一行式子,就可以轻松地去检验电话号码是否符合标准,而不需要蠢蠢的用if等去做条件判断。
总的来说在这次结对编程中收获了很多
原文地址:https://www.cnblogs.com/yr7950969/p/11600767.html