不发帖子根本不够活跃啊

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

今天老大让我们底下几个开发相互 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 的,因为有时候我认为优雅的方式,别人有更优雅的方式,然后我学会了,就会很开心。

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • scorpion

    我比较偏向结合实际场景来判断,纯理论瞎 BB 怎么都有优化的空间。我们都是在做工程,又不是搞科研。进取的态度要有,可是不能偏执。遇到这种领导,我同你一起蛋疼一会儿。

    1 回复
  • 其他回帖
  • yangyujiao

    我们小领导是个技术控,一直想要推行很规范的开发流程,但是我们 cto 天天吆喝规范规范的,,,就没见哪个组真的规范了。
    我们组已经是先行者了。

    1 回复
  • DrJoseph
    作者

    我就是没找到更好的办法,无奈之下才用的这个 for 循环套数据查询,可气的是我跟他讲我这个一次性查询不好做的时候,他说这个他不管,他只负责提出问题。好歹大家都是开发,提点有用的意见也行啊

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

    2 回复
  • 查看全部回帖

推荐标签 标签

  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 412 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 10 关注
  • H2

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

    11 引用 • 54 回帖 • 642 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 242 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 549 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    398 引用 • 3437 回帖
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    375 引用 • 1217 回帖 • 580 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • Openfire

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

    6 引用 • 7 回帖 • 93 关注
  • GitHub

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

    207 引用 • 2031 回帖
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 380 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    479 引用 • 902 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 440 关注
  • GitBook

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

    3 引用 • 8 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 3 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 39 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 22 关注
  • GAE

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

    14 引用 • 42 回帖 • 698 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 15 关注
  • C

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

    83 引用 • 165 回帖 • 36 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 1 关注
  • V2Ray
    1 引用 • 15 回帖