初级React开发人员的代码审查测试分配

这是什么


这是第二个测试任务的解决方案的代码审查。 该视频显示了成功的解决方案和错误,以及修复它们的技巧。 本说明指出了常见问题,并提供了带有“时间戳记”的链接。


选择了一个反应


录影带

常见问题


  • 错误的自述文件;
  • 有附加警告,额外的console.log (redux-logger不计算在内);
  • Web图标未向前移动(不专心地阅读任务);
  • Web图标在组件中被向前推动(在reducer或action中会更好);
  • 如果请求返回错误,密码将不被清除;
  • 如果字段为空(或字段之一),则登录表单中的提交按钮可用。
  • 登录表单中的“提交”按钮不支持按Enter键;
  • 没有划分成组件/容器(不适用于其他方法共享的组件);
  • 发送给服务器的请求的URL已完全传输(没有将字符串的重复部分注册为常量);
  • 错误/通知“用户名/密码不正确”-未清除;
  • 错误“不正确的用户名/密码”-由服务器常量输出;
  • 错误文本被硬编码在代码中。 服务器无法通过常量访问字典;
  • 尚未删除“旧代码”,即未在任何地方使用的代码;
  • 承诺没有catch块,如果服务器回答不正确,则没有错误处理;
  • 组件托管在node_modules中;
  • 道具类型丢失或描述不足。
  • 一个文件中堆上的操作和减速器(或者一个文件中所有动作,另一个文件中所有减速器)。 没有对“模块”的划分,即每个实体-自己的行为和它的化简。

所有带有时间戳的解决方案


这里只指出错误, 没有指出要点,但其中有很多,所以我强烈建议连续观看所有内容,以对那些认为自己在开发中处于“六月”反应的人们。




6时-Arthur Donkovtsev 提交


7分40秒 -函数名称中的错字


8分07秒 -异步请求未付诸实施




9分30秒-Pavel Pimkin 提交


10分07秒 -所有动作均在一个文件中。 没有划分模块。


10分25秒 -在组件中删除图标(数据枚举)。 在减速器或动作上更好。




11分42秒谢尔盖ZackFox 提交


12分28秒 -“酷”字样。 最好“中立”地进行,这样类似的任务就可以立即发送给雇主。


13分05秒 -一项额外的操作,指示“下载”已完成。 也就是说,您可以遇到两个动作:REQUEST / SUCCESS,而不是三个动作:REQUEST / SUCCESS / STOP。




16分16秒-Dmitry Petrov Commit


18分16秒 -使用var


18分34秒 -部分网址不固定




21分15秒-Yefim面包提交


21分17秒 -错误的提交消息


22m15是相同的动作名称。




24分16秒-Katsura Vladislav Commit


25分17秒 -(不是错误)-在化简器中准备的数据


27分38秒 -使用e.target ,更好的e.currentTarget


28m20s - == ,但有必要===


28分33秒 -使用componentWillUnmount


29m00s (不是错误)-关于“服务器验证之前”的原因。


30m05s-代码未格式化(对于业余用户)




30分33秒-Maxim Safin Commit


31分35秒 - 酌情使用“非通用”处理程序。




32分 02秒-Sergey Regins Linkas 提交


33分42秒 -预加载器不执行任何操作


34分30秒 -组件中方法的顺序。 ( eslint插件


35分30秒 -不存在的道具类型




35分57秒-Kononov Vitaly Commit




38分 02秒-Renat Rysaev Commit


39分45秒 -不做不有趣的事情




40分 31秒-Evgeny Sanzhiev Commit


41m20s (不是错误)-处理错误的字典




42分46秒 -重要路堤提交


42分54秒 -测试数据未清除




44分 50秒-Veniamin Trepachko Commit


成就:非常酷的设计。


47分42秒-Redux版本不完整。




47分57秒 -Ingvarr6(Igor) 提交


48分21秒 -没有404条路线




51分20秒-Catherine H Commit


51分30秒 -无法清除错误




54分48秒 -罗马巴勒斯坦承诺


55分30秒 -下载动作不足/错误


56分49秒 -在减速器中使用副作用


58分10秒 -(不是错误)使用CSS 移除网页图标(生病了!)




58分 53秒-Umyar Yusupov 提交


59分15秒 -在setState中使用回调,这会导致不必要的重 。 最好直接在渲染中进行验证。


61m01s-如果else不当使用




62m13s -dsfcv d(Boortcore) 提交




63分15秒 Konstantin Lipsky Commit


65分11秒 -整个URL都会传递给操作,最好在此选项中传递ID。




67分 14秒-Ikaow Ikaow 提交


67m50sshouldComponentUpdate中是一个困难的情况,它可以更简单(立即检查props.data就是这样)


69分32秒 e.preventDefault不是处理程序中的第一个




70m01s -Ali Gasymov Commit




71分 50秒-Akhmetanov Albert Commit


72m20s - node_modules中的组件


73分15秒 -重复的变量调用




74分04秒 -尤金·怀特(Eugene White Commit)


76m04s -privateRoute没有移动到单独的组件


76m33s-用于移动Web图标的复杂代码


76m56s- 加载冗余属性




77分 35秒-Aladyin Alexander Commit


80m33s-词典中未出现错误




81分19秒-Misha Mihail 提交


81分43秒 -与路由器冗余使用




83m04s -Dmitrii Shapovalenko 提交




84分-Daniel Commit


8458秒 -冗余行动师


85m55s-生命周期方法名称错误




86分 58秒-Poroshin Roman Commit


87分15秒 - article标记在语义上的错误使用


90分46秒 -对数组方法的额外调用




91分 10秒-Artem Bochkov Commit

Source: https://habr.com/ru/post/zh-CN413135/


All Articles