项目编程如何自测
猜游戏–成为全面/堆栈开发人员
如果您想知道什么是练习编程技能的理想项目。 你是在正确的地方!
这是一个简单的数字猜谜游戏。 我们从控制台应用程序开始,然后迁移到具有许多功能的Web应用程序。
脚步
1.控制台应用程序:
- 从控制台读取一个介于范围(最小,最大)之间的数字N。 然后,您的代码应生成一个介于相同范围(最小值,最大值)之间的随机数CN,并比较计算机生成的随机数CN与用户输入的数字N是否匹配。
如果匹配,则用户获胜。 如果不匹配,则计算机获胜。
2.(可选)桌面应用程序:
- 创建一个界面以输入最小/最大编号和用户猜测。
MIN : [ Textbox ]
MAX: [ Textbox ]
User Guess [ Textbox ]
还提供带有标签“播放”的按钮,该按钮生成随机数,如果用户获胜,则在“标签”中显示一条消息。
[ Play ]
- 将赢/输次数和赢/输号码保存在文本文件“ stat.csv”中。 当用户关闭应用程序时,在UI上显示平均赢/输。
eg:
DATE_TIME, WINNER, WINNING_NUM, LOSING_NUM
2020 - 05 - 10 20 : 01 : 50 , USER, 5 , 10
2020 - 05 - 10 20 : 02 : 50 , USER, 3 , 4
2020 - 05 - 11 20 : 05 : 50 , COMPUTER, 7 , 9
3.两人游戏:
- 更新GUI或控制台应用程序,以允许两个用户一起玩计算机。 两个用户都可以输入他们的猜测,然后单击“播放”。 做出正确猜测的用户将获胜
GUI mockup:
User A's Guess [ Text Box ]
User B's Guess [ Text Box ]
[ PLAY ]
4.(可选)多层游戏–通过套接字连接:
- 更新GUI应用程序以允许多个用户同时玩。 所有用户都将拥有该应用程序的副本,并且可以通过在其计算机上运行该应用程序来加入游戏。 启动游戏的第一个用户可以充当服务器。
5. Web应用程序:
- 创建一个Web应用程序以在浏览器中玩相同的游戏。 在后端重用之前的代码
- 支持单人游戏模式(与计算机一起玩)。
- 添加注册页面以注册用户。 更新逻辑以仅允许已注册/登录的用户玩。 使用ReCaptcha可以防止机器人发出请求。
- 阻止用户玩1个小时以上。 将其锁定2个小时。
- 多人游戏:列出在线用户并提供请求/接受与该用户一起游戏的功能。 使用WebSocket实时侦听更新。
- 将获利/损失统计数据存储到数据库中。
- 生成CSV报告,其中包含有关获胜者,号码等的统计信息,您可以从网络界面下载该报告。
6.有趣的东西
- 安排“获胜者统计”报告每天运行,并将其发送到您的电子邮件地址。
- 设置后台作业,如果该用户在最近20天内未登录,则该后台作业将发送帐户停用电子邮件
- 如果最近30天未登录用户,则设置后台作业以停用用户
- 设置公共Web API以公开有关获奖者的信息
- 使用缓存从缓存中读取用户配置文件,而不是在每次请求时从数据库读取数据
7.操作:
- 设置Dockerfile脚本以在Docker中运行您的应用
- 使用本地SonarQube实例设置静态代码分析。 您可以使用docker运行SonarQube。 请注意SonarQube警告。
- 在云环境(例如Heroku,AWS,Azure)中部署您的应用
注意:
- 在整个开发过程中都注重可读性和可重用性。
- 尝试使您的应用模块化
- 使用构建系统
- 使用git
要更新吗?
请在https://github.com/GT-Corp/myths-and-facts-about-programming/blob/master/full-scope-developer.md提交PR
翻译自: https://www.javacodegeeks.com/2020/05/project-to-test-your-programming-skills.html
项目编程如何自测