首页   注册   登录
 asj 最近的时间轴更新

asj

努力写明显没有bug的代码,而非没有明显bug的代码
  •   上海誉航软件
  •   V2EX 第 113321 号会员,加入于 2015-04-25 09:42:09 +08:00,今日活跃度排名 10569
    asj 最近回复了
    37 天前
    回复了 holy_sin 创建的主题 git 请问大家的公司有代码 review 吗
    @Acheron 人,以及人会犯错误的本性也是偏离代码本质的。在人工智能还没发展到代码自己进化那天前,只能暂时依赖不完美的程序员来写代码。
    不论 review,注释,unit test,都是为了补救不完美的程序员,避免他们偏离代码本质。
    当然如果你认为自己就代表着最纯粹的本质,那当我没说。
    方便从 github 上拉开源代码,无缝衔接
    42 天前
    回复了 XinLake 创建的主题 Android 这段代码如何优化
    挺好的啊,不知道你要优化什么

    喜欢的话可以把两个数组改成一个对象的数组,看起来 header 和 data 的关系更清楚一些。
    42 天前
    回复了 asj 创建的主题 程序员 感觉在这里 TDD 不是很受欢迎啊
    @msg7086 事先写测试也还是容易放过一些边界条件。而且往往边界值是和具体实现相关的。如果你看我这次练习视频后半部分重构提升性能的地方,就会发现代码出现了新的边界值,而原有的测试并不能覆盖。

    TDD 只是以自动报错的方式定义预期的行为,自然不能查到非预期的错误。
    简单来说 TDD 中的 test 事实上是类似 checklist 里的 check,是帮助开发者更有效开发的。而不是 QA 领域所说的 test
    42 天前
    回复了 lxy 创建的主题 Java Java8 Stream API 在什么情况下适用?
    在于函数式写法描述逻辑更清楚的情况下选择 Stream,没有特殊理由不应该特意关注性能。
    如果真的性能是第一位的,那就用 for。要并行完全可以自己手写多个线程分别 for 集合的一部分。
    43 天前
    回复了 asj 创建的主题 程序员 感觉在这里 TDD 不是很受欢迎啊
    @msg7086
    > 增加测试覆盖很好,但是我觉得 TDD 本末倒置了,很多时候为了测试而测试
    -----------
    同意,为了增加测试覆盖率而 TDD 就是本末倒置。

    > 先写单元测试:…… 然后写代码 add_one(in),会不会有人写成 return in == 4 ? 5 : 0 ?
    -----------
    如果程序员觉得先写成这一步有帮助,不妨写成这样再重构。当然不能停留在这里。原因是这种代码其实是重复,实现代码与测试代码之间“知识”的重复。具体就不多展开了。

    > 先写测试再写方法,有很大的可能,会导致面向测试开发,而不是面向需求开发。
    -----------
    如果在没有实现代码的时候就不基于需求写测试用例,那确实会出现这种问题。
    43 天前
    回复了 asj 创建的主题 程序员 感觉在这里 TDD 不是很受欢迎啊
    @ghostsf 没看懂,是说现实中不适合使用 XP 极限编程?

    还是说 TDD 不适合 XP ? TDD 不就是极限编程首先提出的么。
    44 天前
    回复了 asj 创建的主题 程序员 感觉在这里 TDD 不是很受欢迎啊
    @q397064399
    如果你的 testcase 在整个模块的生命周期就执行那么几次,然后又要被改动,那 testcase 的意义又何在呢?
    ---------
    不能赞同更多。

    所以我巴不得改代码的时候,每敲一下键盘就跑一次 testcase。
    44 天前
    回复了 asj 创建的主题 程序员 感觉在这里 TDD 不是很受欢迎啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1972 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 13:59 · PVG 21:59 · LAX 06:59 · JFK 09:59
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1