不发帖子根本不够活跃啊

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

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

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

  • 职场

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

    126 引用 • 1699 回帖
  • 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 的,因为有时候我认为优雅的方式,别人有更优雅的方式,然后我学会了,就会很开心。

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • DrJoseph
    作者

    纳尼...常量连接池吗 😨

    1 回复
  • 其他回帖
  • yangyujiao

    我入职这个新公司,我是第一个被 review 的,因为别的组压根就没有这回事,我看过别的组写的代码。。。至少不格式化的代码,我就懒得看。。。
    我们现在那个领导,技术还是很 nb 的,跟着他学了不少。不过他也挺扭的,我也扭,我们就吵吵。。。

    1 回复
  • MaryMa

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

    1 回复
  • ZephyrJung

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

    2 回复
  • 查看全部回帖

推荐标签 标签

  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 2 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 634 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 125 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 83 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖 • 1 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 11 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 101 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 590 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8208 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 3 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 129 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 460 关注
  • 职场

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

    126 引用 • 1699 回帖
  • 自由行
    4 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 12 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 31 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 457 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1429 引用 • 10050 回帖 • 486 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    926 引用 • 937 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 420 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 651 关注