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

asj

努力写明显没有bug的代码,而非没有明显bug的代码
  •   上海誉航软件
    V2EX 第 113321 号会员,加入于 2015-04-25 09:42:09 +08:00
    今日活跃度排名 13875
    感觉在这里 TDD 不是很受欢迎啊
    程序员  •  asj  •  121 天前  •  最后回复来自 AntiGameZ
    64
    2017 代码静修日(Global Day of Coderetreat)上海站
    上海  •  asj  •  269 天前  •  最后回复来自 asj
    6
    一个游戏
    游戏  •  asj  •  2015-07-31 16:15:04 PM  •  最后回复来自 dudu431
    2
    asj 最近回复了
    晕,看错城市。当我没说
    宝尊
    TDD 流程里写了测试还没实现的时候,非要 2b 兮兮的先运行一遍测试失败,再开始实现。就是为了简单的测试测试用例本身。
    写了一段代码后原来失败的测试通过了。说明这个测试自己是和这段代码行为有关系的。
    当然未必严谨,但是基本够用了。
    117 天前
    回复了 holy_sin 创建的主题 git 请问大家的公司有代码 review 吗
    @Acheron 人,以及人会犯错误的本性也是偏离代码本质的。在人工智能还没发展到代码自己进化那天前,只能暂时依赖不完美的程序员来写代码。
    不论 review,注释,unit test,都是为了补救不完美的程序员,避免他们偏离代码本质。
    当然如果你认为自己就代表着最纯粹的本质,那当我没说。
    方便从 github 上拉开源代码,无缝衔接
    122 天前
    回复了 XinLake 创建的主题 Android 这段代码如何优化
    挺好的啊,不知道你要优化什么

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

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

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

    > 先写测试再写方法,有很大的可能,会导致面向测试开发,而不是面向需求开发。
    -----------
    如果在没有实现代码的时候就不基于需求写测试用例,那确实会出现这种问题。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2092 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 12ms · UTC 14:42 · PVG 22:42 · LAX 07:42 · JFK 10:42
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1