WIP:Bug509-XieQiuHan-WangZiming #82
Closed
wangziming
wants to merge 0 commits from
Bug509-XieQiuHan-WangZiming
into master
pull from: Bug509-XieQiuHan-WangZiming
merge into: mrlan:master
mrlan:Alpha-snapshot20240618
mrlan:Bug580-Hui
mrlan:Bug565-Hui
mrlan:Bug394-Hui
mrlan:Bug478-Hui
mrlan:Bug501-Hui
mrlan:Bug511-Hui
mrlan:Bug518-Hui
mrlan:Bug563-Hui
mrlan:bug555-fangchen
mrlan:Bug547-FanWenQi-Adapted
mrlan:SPM2023S-QianJunQi
mrlan:Bug536-Jiangwangzhe
mrlan:Bug540-XiongJiaming
mrlan:Bug579-LuKangyang
mrlan:BUG543-JiWenkai
mrlan:Bug574-ChenLingjie2
mrlan:Bug573-PanBinjie
mrlan:Bug570_CaiShuHuang
mrlan:Bug578-ChenChen2
mrlan:Bug578-ChenChen
mrlan:Bug577-JiangXueQin
mrlan:Bug576-XiaBaizhi
mrlan:Bug564-JiangChao
mrlan:Bug572-ZhongYi2
mrlan:Bug533-ZhangXuDong
mrlan:Bug392-LiJie
mrlan:Bug358-LiJie
mrlan:Bug534-WangWeitao
mrlan:Bug569-YuTianshuai
mrlan:Bug563-HuangHaoqi
mrlan:Bug571-TongQi
mrlan:Bug572-ZhongYi
mrlan:Bug566-SunJiawen
mrlan:Bug574-ChenLingjie
mrlan:Bug565-ChenYuhang
mrlan:Bug568-SongHaiyan
mrlan:Bug567-YuZheChen
mrlan:Bug571-TonQi
mrlan:Bug561-LiangZiyue
mrlan:Bug511-Bosh
mrlan:Bug555-chenshiying
mrlan:Bug513-Mayada
mrlan:Bug543-AyaOK
mrlan:Bug518-Mponeja
mrlan:Bug543-Aya
mrlan:Bug547_FanWenQi
mrlan:bug-497Gongzhengcheng
mrlan:Bug500-Badr
mrlan:Bug518-Esther
mrlan:Bug536-QianLetao
mrlan:Alpha-snapshot20230621
mrlan:Bug533-Yuyikai
mrlan:Bug562-Wuyichen
mrlan:Alpha-snapshot20230621OK
mrlan:Bug476-LiMengdie
mrlan:Bug545-HuangHuiLing
mrlan:Bug561-WanZiKun
mrlan:BugTBD-LiSinan
mrlan:master
mrlan:Bug579
mrlan:0618、
mrlan:Bug551-DingZeYu
mrlan:547
mrlan:542
mrlan:Bug528-TangJiao
mrlan:Bug553_LinShan
mrlan:Bug-561
mrlan:fix-vuln
mrlan:Bug476-Yuhuangtao
mrlan:Bug527-ZhouZhifang
mrlan:Alpha-snapshot20230615
mrlan:Bug473-Buya
mrlan:Bug534-NingShushuang
mrlan:improvment_GuHan
mrlan:Bug393-TanYanMei
mrlan:improvment-NiWeiCong2
mrlan:refactor-huangzirui
mrlan:Bosh
mrlan:Alpha-snapshot20230605
mrlan:refactor-wangyu
mrlan:Alpha-snapshot20230601
mrlan:Alpha-snapshot20230531
mrlan:Bug529-GuHan
mrlan:Bug492-XuHongJian-HuangZirui
mrlan:Alpha-snapshot20230529
mrlan:Refactor_qianjunqi
mrlan:Bug522-HuangZirui
mrlan:Refactor-XunYucan
mrlan:Alpha-snapshot20230525
mrlan:Refactor-HeZhengzheng
mrlan:Alpha-snapshot20230511
mrlan:Bug407-JinHaoLin
mrlan:Alpha-snapshot20230519
mrlan:Bug476-YuHuangtao
mrlan:Bug476-ZhangWeiHao-YuHuangtao
mrlan:Bug473-LuXiaochen
mrlan:Bug493-GongKeCheng
mrlan:Bug488-TangWei
mrlan:SOFTARCH2023S-ZENOVIO
mrlan:Bug532-HuangDan
mrlan:Bug476-ZhangWeiHao-BaoYuelin
mrlan:Bug504-LiJia
mrlan:SPM2023-PR44-YuGaoxiang
mrlan:Bug476-ZhangWeiHao
mrlan:Alpha-snapshot20230507
mrlan:Huangdan
mrlan:Bug509-XieQiuHan-WangZiming-HuangDan
mrlan:Alpha-snapshot20230506
mrlan:improvment-NiWeiCong
mrlan:Bug502-YuGaoXiang
mrlan:bug359-zhangkeli
mrlan:593
mrlan:Alpha-snapshot20230427
mrlan:Alpha-snapshot20230425
mrlan:Alpha-snapshot20230426
mrlan:Alpha
mrlan:Lanhui-update-README2
mrlan:SPM2022F-CONTRIBUTORS-WuWenZhuo
mrlan:Bug490-ChenQiuwei
mrlan:Bug525-Hui
mrlan:englishpal
mrlan:AAALF
mrlan:Bug509-XieQiuHan
mrlan:SPM2022F-CONTRIBUTORS-DingRui
mrlan:SPM2022F-CONTRIBUTORS-jiaojiao
mrlan:Bug521-LiYuFeng-refactor
mrlan:Bug492-XuHongJian
mrlan:SPM2022F-CONTRIBUTORS-XIEQIUHAN
mrlan:SPM2022F-CONTRIBUTORS-XuHongJian
mrlan:509
mrlan:Bug512-RenYu
mrlan:SPM2022F-CONTRIBUTORS-GONGKE
mrlan:Bug521-LiYuFeng
mrlan:SPM2022F-CONTRBUTORS-luofei
mrlan:SPM2022F-CONTRIBUTORS-RUANYUXUAN
mrlan:bug492
mrlan:SPM2022F-CONTRIBUTORS-LINJUNHONG
mrlan:SPM2022F-CONTRIBUTORS-TANGWEI
mrlan:Bug508-CenHaotian
mrlan:SPM2022F-CONTRIBUTORS-GONGKECHENG
mrlan:Bug499-Hui
mrlan:SPM2022F-CONTROIBUTORS-XUHONGJIAN
mrlan:SPM2022F-CONTRBUTORS-TECHLEADNAME
mrlan:Bug505-ZhangYiteng
mrlan:Bug495-LiangLiGang
mrlan:SPM2022F-CONTRIBUTORS-LIJIA
mrlan:SPM2022F-CONTRIBUTORS-CENHAOTIAN
mrlan:SPM2022F-CONTRIBUTORS-ChenQiuwei
mrlan:Bug499-WangZiming
mrlan:Bug487-WuYuhan-Refactor
mrlan:Hui-Build
mrlan:Bug487-WuYuhan
mrlan:Bug412-JiangLetian-Refactor
mrlan:Bug412-JiangLetian
mrlan:Hui-EscapeUserInput
mrlan:Bug422-XuXing
mrlan:Improvement-Stewart
mrlan:Bug400-QiuZhonghui-Refactor
mrlan:Bug477-ChenJingyi
mrlan:Bug400-QiuZhonghui
mrlan:Bug474-RenYinJie
mrlan:Bug344-JiangXueHong
mrlan:Bug428-LouJiCheng
mrlan:SOFTARCH2022S-ZAYID-478
mrlan:Bug392-LuoYu
mrlan:Bug358-TengJiaQian
mrlan:Bug410-DuanJiaJie
mrlan:Bug209-LiuChangYou
mrlan:Bug393-QinYanMei
mrlan:IMPROVE-WangWeiLong
mrlan:Bug391-LiuYiXiu
mrlan:Bug260-Mohanad
mrlan:bug209_yaaqobv2
mrlan:BugFix407-JinHaoLin
mrlan:Bug394-MiaoChenShuo
mrlan:bug209-yaaqob
mrlan:Bug257-MaJiaBin
mrlan:Bug395-Anxiuxiu
mrlan:Deployment
mrlan:ChenTianle-TypoCorrection
mrlan:Hui-SaferSQL
mrlan:BugFix347
mrlan:WangXuan-Highlight-Pronounce
mrlan:Lanhui-Selenium
mrlan:Lanhui-update-README
mrlan:BugFix300
mrlan:Lanhui-IncreaseChanceOfGettingDifficultArticles
mrlan:BugFix293
mrlan:BugFix284
mrlan:Lanhui-flash-messages
mrlan:Lanhui-go-bootstrap
mrlan:Lanhui-build.sh
mrlan:BugFix254-Author-ZhanJianhao
mrlan:Lanhui-add-articles
No reviewers
Labels
Clear labels
No items
No Label
Milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Clear assignees
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: mrlan/EnglishPal#82
Reference in New Issue
There is no content yet.
Delete Branch "Bug509-XieQiuHan-WangZiming"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Bug509改进和项目重构(解决业务中的前端代码文本)
@wangziming
Thanks
先不要合并,我看看。
@ -36,2 +36,3 @@
rq = RecordQuery(path_prefix + 'static/wordfreqapp.db')
if articleID == None:
if existing_articles is None:
existing_articles = [0, []] # existing_articles[0]:为existing_articles[1]的索引;existing_articles[1]:之前显示文章的id列表,越后越新
@wangziming
Thanks
看不懂 existing_articles 这个变量。
是指 visited_articles 吗?
其目的与用法需要多加解释。为什么第一个元素是索引?
是的,existing_articles[1]存储了之前看过的文章id.
增加索引是为了实现,在阅读上几篇后,可以点击“下一篇”返回到刚才新的文章;想要达成这样的效果,额外记录索引是一个更为简单的方法,因此将ids和index放在一起。
@ -64,0 +82,4 @@
"answer": get_answer_part(d['question'])
}
else:
existing_articles[0] -= 1
@wangziming
不断点击“上一篇”,
existing_articles[0]
不断减1,会不会让existing_articles[0]
变为负数? 比如 -100? 变为负数,程序还是可以正常运行吗?这里的减一不是因为上一篇而去减一,而是因为flag==False,即点击下一篇没有找到文章。
因为点击下一篇会先执行user_service.user_reset(),在这里我执行了existing_articles[0] += 1,所以到后来的Article.get_today_article()中如果没有找到文章,我会重新将existing_articles[0] -= 1,因为没有新的文章产生嘛。
这里的逻辑确实和"上一篇"有点“杂糅”在一起。修改后,这里将d(存储确定返回的笔记信息)初始化为None,d的写入只有上一篇分支与下一篇分支中的有合适level文章时,这两个地方。所以后面就用d作为判断条件是否处理d中的数据。而原先的flag放到“下一篇”的分支中,这里还改了以下名称“flag_get_article”。
@ -33,3 +33,3 @@
def get_today_article(user_word_list, articleID):
def get_today_article(user_word_list, had_read_articles):
@wangziming
请把
had_read_articles
改为visited_articles
收到
@ -39,2 +44,2 @@
else:
rq.instructions('SELECT * FROM article WHERE article_id=%d' % (articleID))
else: # 生成阅读过的文章,因此查询指定 article_id 的文章
rq.instructions('SELECT * FROM article WHERE article_id=%d' % (had_read_articles["article_ids"][had_read_articles["index"]]))
@wangziming
had_read_articles["article_ids"][had_read_articles["index"]])
会出现 null 值?没有考虑到刷新页面或者会话为关闭直接进入页面的情况,会存在bug,已改。
@ -48,2 +47,2 @@
<a class="btn btn-success" href="/{{ username }}/back" role="button"> 上一篇 Previous Article </a>
{% endif%}
<a class="btn btn-success" href="/{{ username }}/reset" role="button"> 下一篇 Next Article </a>
{% if session.get('existing_articles') != None and session.get('existing_articles')["index"] !=0 %}
存在边界值问题:
当刚开始就没有找到文章或者就根本被没有文章的时候,会出现上一篇按钮。
@wangziming
@ -54,0 +73,4 @@
</div>
{% else %}
<div class="alert alert-success" role="alert">
<p class="text-muted"><span class="badge bg-success">Notes:</span><br>No article is currently available for you. You can try again a few times or mark new words in the passage to improve your level.</p>
找不到文章 和 看完所有的文章 需要区分:
看完所有的文章也是找不到文章,不能使用相同的提示信息。
@wangziming
@ -47,1 +48,3 @@
session['articleID'] = session.get('old_articleID')
existing_articles = session.get("existing_articles")
existing_articles["index"] -= 1
session["existing_articles"] = existing_articles
存在逻辑错误:
表现:当出现找不到文章的时候,点击上一篇,出现的是上上一篇文章
原因:当出现找不到文章的时候,existing_articles 索引指向的就是上一篇文章,而点击上一篇文章时,有对索引进行了减一,导致查询了上上一篇文章。
@wangziming
@ -130,11 +134,14 @@ def userpage(username):
words = ''
for x in lst3:
words += x[0] + ' '
existing_articles, today_article = get_today_article(user_freq_record, session.get('existing_articles'))
变量命名优化:
存储已经阅读过的文章的变量名称为 existing_articles 可能存在歧义,建议更换为 had_read_articles
@wangziming
I have been following the convaservation and I could not find any issue yet as @mrlan already did most of the code review.
Thanks. Probably the regression error Bug 530 is due to this fix. Could you look into that?
Hui
Pull request closed