V 友们,绷不住了,分享下我们学校暑假请的培训机构老师写的珍贵代码,这就是占用我 20 天老师的代码水平,

发布于 2021-07-23 16:20:36
V 友们,绷不住了,分享下我们学校暑假请的培训机构老师写的珍贵代码,这就是占用我 20 天老师的代码水平,
https://gitee.com/organizations/hainingtong/projects
,有兴趣的看一下,重点在这个 core 模块.
Questioner
34531535
Viewed
22
52 个回答
qwertyzzz 2021-07-23 16:23:44
那你倒是说下是什么水平
statumer 2021-07-23 16:24:24
槽点是?要 V 友们自己找?
bunnyblueair 2021-07-23 16:24:46
Iterator var5 = realms.iterator(); 很强
learningman 2021-07-23 16:29:21
https://gitee.com/hainingtong/hainingtong/blob/master/mini-app/src/main/java/com/hainingtong/miniapp/controller/BusController.java#L47
有点丑,但是也不是不能用?
shilianmlxg 2021-07-23 16:30:05
有前端有后端,
这就是全栈嘛
liubaicai 2021-07-23 16:30:47
能把你培训到觉得老师写的很烂的水平不正说明他很成功嘛?
当然,如果你一开始就会,那何必跟他学 20 天浪费自己时间。
chendy 2021-07-23 16:31:22
水平其实不好说,市面上写不明白 crud 的开发其实很多很多
除非能加入好公司的好项目,否则的话……
34531535 2021-07-23 16:34:03
http://qvyptuifm.hn-bkt.clouddn.com/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202021-07-23%20163324.png
silk  3 2021-07-23 16:34:20
这就是 人菜瘾大? 我看前端写的还可以啊 能用
34531535 2021-07-23 16:35:55
特别喜欢 try catch,特别特别. 我没听过他课,只不过要交大作业在开始 clone 下他的代码
34531535 2021-07-23 16:38:11
controller 当 service 用,返回数据格式不会用泛型,非用 object,用的时候真的很丑
secsilm 2021-07-23 16:39:24
@34531535 没看你的图片,进不去。不过 try catch 挺正常的吧,保证稳定
xrr2016 2021-07-23 16:40:01
放图啊...
Vegetable 2021-07-23 16:42:32
中规中矩吧
主流业务代码就这样,后端是 spring,没什么犯傻的空间,不过风格不太统一,应该有不少 cv 的。
前端就是典型的 vue 面条代码,没啥可吐槽的。
puzzle9 2021-07-23 16:42:58
开始的开始 都是复制粘贴 如果后续发现改起来很麻烦的话 可能就相同代码不会出现了
JYii 2021-07-23 16:44:01
随便翻了一下,我觉得还可以,我上学那会暑假培训有教这些我得好好感谢学校...
Hurriance 2021-07-23 16:54:20
为啥不直接用 ConcurrentHashMap
kop1989  3 2021-07-23 16:59:08
搞大自报虚空批判一个人,完全没有任何意义。
建议 lz 可以晒出你认为的改进代码,以供大家学习与交流。

"Talk is cheap. Show me the code." --Linus Torvalds
loryyang 2021-07-23 17:00:21
@34531535 #10 吐槽 try catch 太多只能说明你太年轻了,没吃过苦头
emeab 2021-07-23 17:02:24
@34531535 喜欢用 try catch 没啥问题把.
x86  3 2021-07-23 17:02:59
结果老师在某社区发帖:带了 20 天学生碰到个特别装的,受不了...
loryyang 2021-07-23 17:04:05
@loryyang #19 哦,或者你的应用没有这么高的稳定性要求
yukiww233 2021-07-23 17:13:20
比较正常的业务代码啊...水准 /经验应该比大部分的大学授课老师好了...值得用那么夸张的语气来吐槽?
IvanLi127 2021-07-23 17:14:18
还行吧,这代码。
培训机构的老师好不好就不提了,你都不听他的课.....主要是这老师是靠讲课挣钱的,又不是靠写代码挣钱,所以目测代码水平在培训老师里,可能不算差。。。
efaun 2021-07-23 17:16:00
能挣钱就行,行业就是这个水平
p786317875 2021-07-23 17:19:10
@34531535 说实话这种教学内容整合了一堆常用框架,作为一个搞了多年后端的,稍微扫了几眼他的后端代码,感觉挺正常的,框架这种其实就是用到的时候去学一下,一般几天就上手能用了,还没参加工作的建议专注业务以及底层和原理,当然,为了找到好工作还得算法熟练。
p786317875 2021-07-23 17:24:11
@34531535 这里的 trycatch 已经是入门级的异常处理了,你真参与到大项目遇到 bug 就知道 trycatch 有多重要了,人越多的项目异常处理代码越重要。
34531535 2021-07-23 17:47:52
@p786317875 谢谢,学习了. 我有个问题想请教下,8 楼图中的 get 方法代码他为啥也用 trycatch?
sherlockwhite 2021-07-23 19:54:02
在学校多学习,不要目空一切,把自己放低点
xuanbg 2021-07-24 09:27:42
@34531535 controller 当 service 用,返回数据格式不会用泛型,非用 object,用的时候真的很丑
restapi 返回值 object 没毛病啊,反正都序列化了,范型又有什么意义呢?
v2orz 2021-07-24 09:46:44
业务型代码太过洁癖会搞得自己很累,成效不明显
自己研究学习时怎么优雅怎么来
simonlu9 2021-07-24 10:08:37
servie 没做事务控制吧,而且抛异常通过 contain 判断有点笨
chocotan 2021-07-24 10:18:24
楼主追求很好

简单瞅了一下 java 部分,没看出来有啥问题。我个人是觉得部分 javadoc 注释和双斜杠的注释没任何用处,并且部分变量的命名太随意了,不好看。但老板不管代码漂不漂亮,程序能跑起来就行。
qiumaoyuan 2021-07-24 11:00:56
“占用我 20 天的老师的代码水平。”
antidoom 2021-07-24 12:37:28
你等你老师来回你。
plk403 2021-07-24 13:00:07
哟,海宁人啊,我桐乡滴
code4you 2021-07-24 13:04:40
等 我就是教他的那个老师出现 😁
Terry05 2021-07-24 13:24:41
会加 try/catch 明明是优点,这就被你认为是缺点了?孩子,你以后开始做项目就知道了
gBurnX 2021-07-24 13:25:31
@34531535

计算机专业本科大一的课程,就会教你,编程要讲究鲁棒性。

人家大量 try catch 拿来提高系统鲁棒性,被你这小白当初缺点喷。
Pichai 2021-07-24 15:31:36
师傅引进门,修行靠个人!
mirone 2021-07-24 15:48:27
不是,问题是他要是水平足够进哪怕腾讯,他也不会去培训班当老师啊。
Senorsen 2021-07-24 16:04:48
粗略看了后端部分,大体上是“能跑,有些地方写的不太好,不符合最佳实践”的感觉,可能本身写这个项目的人水平也一般,强行拼凑出来的项目。

如果楼主的水平很高,能轻松重写一个新的、碾压这个项目的话,发出这样的感慨也很正常。如果有闲功夫的话,可以考虑花点时间,整理这个项目的缺点部分,写个博客,或把这个项目重构成自己心中理想的样子。

如果楼主本身也还在学习阶段,那么还是建议勿眼高手低。结合网上的文档,尝试理解整个项目的思路,取其精华去其糟粕,学习它有用的部分。

顺便给你个小建议,非要用英文标点的话,逗号或句号后加个空格。
meteor957 2021-07-24 16:16:44
你是想让 v 友一起喷他吗
Keyi 2021-07-24 18:07:49
try-catch 增加鲁棒性的前提是异常被正确的处理,否则会阻碍问题的尽早暴露,像 https://gitee.com/hainingtong/hainingtong/blob/master/mini-app/src/main/java/com/hainingtong/miniapp/controller/BusController.java#L100 纯属没有处理异常吧......
34531535 2021-07-24 18:21:41
@Senorsen 非常感谢您, 每条建议都很有帮助, 确实不能眼高手低, 主要我对对学校强制培训 20 天感到很气, 听去的同学说讲的也很水, 就是稍微讲讲, 发链接自学,
krapnik 2021-07-24 18:24:59
打开项目看了一下这个老师的名字,有点眼熟,搜了一下,原来是一个技术群的群友,有段时间发言比较积极所以有点印象,这是公开处刑吗。。。。。。
34531535 2021-07-24 18:34:23
@krapnik 我靠, 兄弟别说出去啊, 我还想过呢.
Anonywp 2021-07-24 22:39:34
遇事不决,try/catch 解决,业务代码是这样的,还有随处可见的 null 判断。我之前的后端好像封装了一个 basecontroller,直接 return 就行了,有异常会抛出并返回一个服务端异常的 response,但我不知道具体怎么做的
msg7086  1 2021-07-25 04:36:15
我跟着组里学了一年的 Java 以后的感想是,

做项目用的 Java 就不要谈什么美观了,写来写去都像屎山……
你可以把 Java 写得很优雅,但是,我没看到有人这么写的。
做项目就是要快要鲁棒,谁管你优雅……

我们这,年薪 15 万的,和年薪 20 万的,和年薪 30 万的,写的代码真都像屎山。
当然我写的也是屎山。
到最后,项目能跑起来,公司能挣到钱,你能拿到工资,这些才是真的。
GiantHard 2021-07-25 10:59:22
@Keyi 是的,这样的异常处理还不如不写,还有 104 行的 System.out.printfn,感觉再怎么样应该也要通过 logger 输出吧。。
wdlth 2021-07-25 18:37:26
Charset charset = Charset.forName("UTF-8");
下次谁再教写这个的请直接拖走
EscYezi 2021-07-26 02:49:41
UserService#register 捕获重复 key 异常,然后再根据异常信息来判断哪个字段重复?这个虽然能跑,但是也太怪了,先按用户名查询一下不就行了吗……