• 👽 置顶
    2019-01-08
    第二个问题个人认为目标还是——经济

    关于第二个问题,个人认为可能不能算是鱼和熊掌,可能更偏向于鱼和鱼竿。

    一面是很多鱼,而另一面是一根鱼竿。二选一。
    另外效率这个词,个人认为不恰当。效率是保障质量的前提下更高的产出。个人把这个理念替换为速度。

    速度质量二选一。理想化肯定是质量。但是实际上还要参考实际情况。

    类似于我们公司的团队,碰到这样的项目,明天就要求能看到效果。都来不及做详细设计,直接把以前的项目拿来改一改调试一下就拿去演示了。然后后续再进行优化调试完善。

    这种硬环境下,不是不保障。而是无暇保障。
    另一种情况,是有些功能模块,重要性不是很高,甚至根本不会有人用。只是个凑数投标的模块,但是这个模块测试以及优化的话可能很复杂。这时候,去花费大量时间精力在上面明显是不合适的。就假设,这个模块定价1000,但是为了这个模块的测试优化就花了800的成本,公司是不愿意为你的高质量代码买账的。

    再举个反例。某模块追求速度开发。两天做完,节约了一天代码优化以及测试的步骤。但是未来的某天,发现这里有个坑。因为代码很久没有看过。导致这个坑难以找到问题所在,最后导致功能模块几乎重写。这里就是不应该因为速度舍弃质量的例子。

    综上所述,个人认为,取舍的终极目标。还是老师之前说到的——经济

    但是达到这个,并不容易。不仅仅是编写高质量代码的习惯与能力。还有不可或缺的经验,以至于可以灵活取舍。

    但是——我们至少要有高质量编码的能力与基础。这样,在你有经验的时候才可以做到灵活的取舍。
    展开

    作者回复: 能力和习惯是基础啊。鱼和鱼竿的类比,我第一次看到,很有意思👍

    
     11
  • 李英权
    2019-01-08
    最近接手一个质量不高的JAVA工程,读代码过程中 摸索出一个经验——用eclipse的bookmark功能为代码创建索引,现实世界的代码库 大多数像是没有索引的图书馆,运气好的你遇到有文档的项目 也不过是残缺的过期的和错误的引索。
    所以需要你去重建准确的索引,eclipse的bookmark用好了 可以达到这个目的。

    作者回复: 这是个好办法,小伙伴找找其他的IDE有没有类似的功能。

     1
     11
  • xavier
    2019-01-08
    老师讲得很好,我觉得很多人跟我一样,就因为见识不够,不知道如何去编写高质量的代码。老师可以提供一些实践性的项目或者资源,供大家学习、操作。

    作者回复: 专栏的文章就像一个引子,练手题的就是引玉的砖,留言区有很多好东西。我们用好留言区,多参与,多评论。

    你的建议很好,我想一想有没有可以参与的项目。OpenJDK当然是现成的一个项目。学了算法,你可以看看是不是可以优化Java的类库。学了接口设计,你可以看看Java类库哪些接口设计的好,哪些设计的不好。 你目前工作的项目,😁也是一个可以改进的项目。

    
     4
  • 余衫酉
    2019-01-13
    作为团队负责人,以前推行过upsource作为代码审查工具,这工具和idea结合起来,非常好用。结果怎么样呢,发现工具是次要的,项目各种赶,各种应标废标,各种演示项目。能谈下的项目经过商务的一再拖延最后留给研发的时间少的可怜,结果就是导致低效的加班赶进度,代码都不忍直视,怕小心脏受不了。理想很丰满,现实很骨感,对于主要业务是短期外包的公司来说,只希望用廉价劳动力快速交差。

    作者回复: 理解这种状况! 这种加班其实是恶性循环,时间越紧,代码质量越难以保证;代码质量越差,能复用的东西积累越难,加班就越多。

    
     3
  • liu
    2019-01-08
    广博精深,做好取舍。大处着眼,细处着手;质量从过程抓起,从细节抓起,做好质量把控;同时注重反馈总结。方向对了,过程把握好了,结果不会太坏。

    作者回复: 👍

    
     2
  • Sisyphus235
    2019-05-21
    代码的开发最重要的影响因素之一是经济,有时候为了效率,很多部分我都会写 TODO,因为交付时间总是很急迫,来不及认真的设计架构和实现。有过几次因为这样开发,不长时间就要停下来重构的经历后,我现在往往会在开发新功能的时候,把涉及部分的 TODO 一起做了,局部重构,以解决开发速度和代码质量的问题。
     1
     1
  • hyeebeen
    2019-03-23
    是否可以通过调用链路来帮助我们从整体去认识类与类、方法与方法之间的关系,然后再去“剥洋葱”?

    作者回复: 也是个好办法!debug的调用堆栈分析就是这么做的。

    
     1
  • 若尘
    2019-01-09
    从编写,测试,交付,使用的大视角拆解效率,结论是质与量两个变量,质跟效率相关性更高,又一次证明了慢慢做会更快

    作者回复: “大视角”👍

    
     1
  • 虢國技醬
    2019-01-08
    打卡

    作者回复: 加油

    
     1
  • allean
    2019-01-08
    老师您好,质量高的代码是否意味着使用恰当的设计模式?

    作者回复: 也不一定,设计模式是经验总结,只是好代码的一小部分。不过,学设计模式有助于理解接口设计。

    
     1
  • 老吴
    2019-02-20
    养肥了 可以开始看了

    作者回复: 哈哈,打开方式多样啊。

    
    
我们在线,来聊聊吧