• 请不要在回答技术问题时复制粘贴 AI 生成的内容
34531535
V2EX  ›  程序员

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

  •  
  •   34531535 · Jul 23, 2021 · 7308 views
    This topic created in 1931 days ago, the information mentioned may be changed or developed.
    V 友们,绷不住了,分享下我们学校暑假请的培训机构老师写的珍贵代码,这就是占用我 20 天老师的代码水平,
    https://gitee.com/organizations/hainingtong/projects
    ,有兴趣的看一下,重点在这个 core 模块.
    54 replies  •  2021-07-28 16:34:18 +08:00
    asLw0P981N0M0TCC
    asLw0P981N0M0TCC
    Jul 23, 2021
    1
    那你倒是说下是什么水平
    statumer
    statumer
    Jul 23, 2021 via Android
    2
    槽点是?要 V 友们自己找?
    v2zhao
    v2zhao
    Jul 23, 2021
    3
    Iterator var5 = realms.iterator(); 很强
    shilianmlxg
    shilianmlxg
    Jul 23, 2021
    5
    有前端有后端,
    这就是全栈嘛
    liubaicai
    liubaicai
    Jul 23, 2021
    6
    能把你培训到觉得老师写的很烂的水平不正说明他很成功嘛?
    当然,如果你一开始就会,那何必跟他学 20 天浪费自己时间。
    chendy
    chendy
    Jul 23, 2021
    7
    水平其实不好说,市面上写不明白 crud 的开发其实很多很多
    除非能加入好公司的好项目,否则的话……
    silk
    silk
    Jul 23, 2021❤️3
    9
    这就是 人菜瘾大? 我看前端写的还可以啊 能用
    34531535
    34531535
    OP
    Jul 23, 2021
    10
    特别喜欢 try catch,特别特别. 我没听过他课,只不过要交大作业在开始 clone 下他的代码
    34531535
    34531535
    OP
    Jul 23, 2021
    11
    controller 当 service 用,返回数据格式不会用泛型,非用 object,用的时候真的很丑
    secsilm
    secsilm
    Jul 23, 2021 via Android
    12
    @34531535 没看你的图片,进不去。不过 try catch 挺正常的吧,保证稳定
    xrr2016
    xrr2016
    Jul 23, 2021
    13
    放图啊...
    Vegetable
    Vegetable
    Jul 23, 2021
    14
    中规中矩吧
    主流业务代码就这样,后端是 spring,没什么犯傻的空间,不过风格不太统一,应该有不少 cv 的。
    前端就是典型的 vue 面条代码,没啥可吐槽的。
    puzzle9
    puzzle9
    Jul 23, 2021
    15
    开始的开始 都是复制粘贴 如果后续发现改起来很麻烦的话 可能就相同代码不会出现了
    JYii
    JYii
    Jul 23, 2021
    16
    随便翻了一下,我觉得还可以,我上学那会暑假培训有教这些我得好好感谢学校...
    Hurriance
    Hurriance
    Jul 23, 2021
    17
    为啥不直接用 ConcurrentHashMap
    kop1989
    kop1989
    Jul 23, 2021❤️3
    18
    搞大自报虚空批判一个人,完全没有任何意义。
    建议 lz 可以晒出你认为的改进代码,以供大家学习与交流。

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

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

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

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

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

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

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

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

    我们这,年薪 15 万的,和年薪 20 万的,和年薪 30 万的,写的代码真都像屎山。
    当然我写的也是屎山。
    到最后,项目能跑起来,公司能挣到钱,你能拿到工资,这些才是真的。
    GiantHard
    GiantHard
    Jul 25, 2021
    50
    @Keyi 是的,这样的异常处理还不如不写,还有 104 行的 System.out.printfn,感觉再怎么样应该也要通过 logger 输出吧。。
    wdlth
    wdlth
    Jul 25, 2021
    51
    Charset charset = Charset.forName("UTF-8");
    下次谁再教写这个的请直接拖走
    EscYezi
    EscYezi
    Jul 26, 2021 via iPhone
    52
    UserService#register 捕获重复 key 异常,然后再根据异常信息来判断哪个字段重复?这个虽然能跑,但是也太怪了,先按用户名查询一下不就行了吗……
    Akiya
    Akiya
    Jul 26, 2021 via iPhone
    53
    觉得 Java 写 try catch 多余的,写 go 不得气死去
    p786317875
    p786317875
    Jul 28, 2021
    54
    @34531535 其实注释写的挺清楚了,这是 Map 后面要改成 redis,你从 redis 进行 get 就会有一些奇奇怪怪的异常比如网络之类的,你开发的时候遇不到,生产环境下使劲抛这种异常受不了,再高级点的做法就是异常自己定义,抛出来的异常也要处理好,比如 redis 挂了、网络异常等等,要返回给用户提示,而不是直接返回一个空的数据让用户感到迷惑。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2495 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 14:47 · PVG 22:47 · LAX 06:47 · JFK 09:47
    ♥ Do have faith in what you're doing.