不发帖子根本不够活跃啊

本贴最后更新于 2647 天前,其中的信息可能已经水流花落

今天老大让我们底下几个开发相互 review 代码,然后我的代码很不幸的成了重点 review 对象,因为我经常偷懒懒得动脑筋,就会在 for 循环里套数据查询,尤其是一年十二个月统计数据这种,当时开发过程中的确也想了很多办法去想一次性查询出来,奈何开发时间有限,于是就用了 for 循环十二个月,自认为对效率的影响不是特别大。然而今天同事就揪着这个问题非让我改代码,想听听你们有什么意见。

本来打算一开始就发这个帖子,但是感觉自己当时有点生气,有点失去理智,所以等到现在睡了一个午觉之后再来发帖,可以比较客观的来叙述一下事实,各位看官觉得我做的不对的,也尽管可以指出,我虚心接受

  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1705 回帖
  • Review
    2 引用 • 52 回帖

相关帖子

优质回帖
  • wuhongxu 1 赞同

    那这种就没办法了啊,喵的,我脾气一上来,for 改成 while

  • yangyujiao 1 1 赞同

    前几天我们也搞了 code review。
    是只 review 我的代码····
    因为我们组就 3 个人,另两个人当时很多东西没有搞完。

    我其实是希望他们提一些建设性的意见,可以提高效率啦,或者更优雅的写法了。
    但是提的问题,基本还是比较基础的,命名不好了(那个命名已经是我想了好多,最后根据我的方法确定出来的),然后还有代码写的递进性太强了(就是说我的一个方法里面做的东西太多了,很多其实查询出来是什么我直接给处理了,他们意思是应该查询出来什么类型就是什么类型,方法返回以后处理,我是在那个方法里面都处理完了在返回。。。反正这个说不太清楚),还有就是枚举用的不彻底(这个其实我用的还好吧,我很喜欢用枚举的,因为这个枚举的问题,还跟领导吵了一下)。

    我有一个方法我是直接返回了 StringBuffer,因为我要的就是 a,b,a,d 这样的。但是要我先返回一个 list 然后在处理成我要的那个样子,后来我就用了 StringUtils.join 这个方法,但是其实里面就是用的 StringBuilder,我当时就想直接用 StringBuilder,不用 list。。。领导的意见是什么方法该干什么事儿就只让干什么事,这就上面说的我的代码递进性太强了。。。
    当时因为这个 list 问题,我又跟他争论了,他说对性能没有影响的,因为我的 list 里面就是我们定义的枚举,不多的。但是先 list,然后有 join 里遍历,在成为 StringBuilder,性能就算影响不大,应该也会有的呀。。。
    让我做个测试,当时忙,也没做。。。
    另外还有一个我的 try-catch 的问题,我喜欢用大 try-catch,但是给我建议是 catch 跟在那句 try 后面,然后我就改了,用了好几个布尔判断·····,自己又改出几个 bug。。。

    我写代码,在性能方面我觉得考虑的真的挺多的了。另外,我会用我认为那是最优雅的方式来写。
    我挺喜欢 review 的,因为有时候我认为优雅的方式,别人有更优雅的方式,然后我学会了,就会很开心。

    最后就是,我的那些名字不好的方法,最后我也没改。因为我就是想不到更好的了,那已经是绞尽脑汁想到的符合我方法含义的名字···

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • code review 不仅是提出问题,解决思路也应该讨论确定的吧

    1 回复
  • 其他回帖
  • ZephyrJung

    最近写的验证代码里有好多 for、if 嵌套来嵌套去,深度达到 3 层,虽然不是特别深,但是这样的太多了,看着也不是很舒服
    然而不知道怎么写出更简洁而又符合逻辑的 orz

    2 回复
  • yangyujiao

    只有我们坚持,别的组都不坚持,最后我们到了别的组就被同化了。。。
    好不容易弄好了 Jenkins ,结果因为测试一句不习惯用,,, 就不用了。。。
    听的我都懵逼了···。。。好东西因为不习惯就放弃了,,,我也是无语了。。。

    1 回复
  • MaryMa

    一般很忌讳在 for 里面去直接访问数据库, 代码评审的时候架构师是一定会提出来的~~ 不过你应该是被态度气到了, 如果自己暂时么有解决方案,可以想架构师帮忙想方案,你实施就好

    1 回复
  • 查看全部回帖

推荐标签 标签

  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • 笔记

    好记性不如烂笔头。

    308 引用 • 793 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1705 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 22 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 260 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 26 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖 • 1 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 168 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 1 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 681 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 625 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    342 引用 • 708 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    286 引用 • 729 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    32 引用 • 131 回帖 • 1 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 9 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 61 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 787 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1513 回帖 • 1 关注