V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xcodebuild
V2EX  ›  程序员

反对最佳实践

  •  1
     
  •   xcodebuild ·
    xcodebuild · 2019-05-20 11:05:46 +08:00 · 3371 次点击
    这是一个创建于 2046 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常有人纠结最佳实践的问题,但我认为这不是解决问题的正确思路。解决问题不应该是找到完美无缺的解决方案,而是识别主要矛盾选择适合的方案。

    文章链接: https://www.xcodebuild.com/2019/05/13/no-best-practice/

    另欢迎探讨和友链~

    第 1 条附言  ·  2019-05-20 12:00:09 +08:00
    感谢 v 友指正,标题已修改为 最佳实践不是你的目标

    也和各位共勉,发文前标题应该仔细斟酌,避免标题党
    22 条回复    2019-05-20 21:09:31 +08:00
    mcfog
        1
    mcfog  
       2019-05-20 11:21:48 +08:00   ❤️ 3
    典型的稻草人谬误

    我把银弹叫作最佳实践=>没有银弹=>我反对最佳实践
    xcodebuild
        2
    xcodebuild  
    OP
       2019-05-20 11:26:13 +08:00
    > 真正应该反对的并非最佳实践本身,而是生搬硬套最佳实践,却不去关注问题本身

    @mcfog #1 我反对为了最佳实践而最佳实践,只是这样标题太长了。。
    raptor
        3
    raptor  
       2019-05-20 11:35:28 +08:00   ❤️ 1
    @xcodebuild 太长的标题总比一个错误的标题好
    piglei
        4
    piglei  
       2019-05-20 11:45:49 +08:00   ❤️ 1
    让我想起不久前看了两篇文章:一篇叫“为什么你不需要写 Python 的 for 循环”,另一篇叫“为什么 Python 的异常机制是错的”。最后点进去看无一例外说的和标题都不是一回事,然后没多久作者也顶不住都改了标题。

    不是什么好做法,不建议楼主模仿。
    piglei
        5
    piglei  
       2019-05-20 11:48:29 +08:00
    时间久远,找到其中一篇改了标题的文章: https://medium.com/python-pandemonium/never-write-for-loops-again-91a5a4c84baf
    xcodebuild
        6
    xcodebuild  
    OP
       2019-05-20 11:49:22 +08:00 via iPhone
    @piglei 受教,下午修改一下

    谈一谈内容吧,本意确实见到很多新手错误地使用最佳实践,无意引战或者什么
    SuperMild
        7
    SuperMild  
       2019-05-20 11:58:33 +08:00
    内容很混乱啊,说的是技术选型?这个一般不叫作最佳实践吧。
    xcodebuild
        8
    xcodebuild  
    OP
       2019-05-20 12:03:17 +08:00
    @SuperMild #7

    技术选型(什么场景选什么框架 /库)
    代码的写法(怎么写更优雅)
    设计思想( JSX 和 template 哪个好)

    一般都属于最佳实践的讨论范围,至少这些问题的讨论是比较多的
    piglei
        9
    piglei  
       2019-05-20 12:03:22 +08:00   ❤️ 1
    @xcodebuild 不太懂 JS,大概看了一下,我觉得结论和观点挺好的。

    确实有很多人唯工具论,却忘了关注问题本身和需求本质。但是话说回来,这应该也是每个程序员的必经阶段,毕竟要掌握看透问题本质、忽略其他无关事物的能力,需要长时间的经验积累和大量练习。

    有的人一直呆在前一个阶段无法上升,有的人还没过这个阶段就升职成了 manager。🐶
    omph
        10
    omph  
       2019-05-20 12:05:49 +08:00
    那不是要批斗设计模式?
    最佳当然是暂时的,也就是限于特定场景
    xcodebuild
        11
    xcodebuild  
    OP
       2019-05-20 12:07:49 +08:00 via iPhone
    @piglei 感谢,被大家怼得都有点怀疑人生了哈哈

    本来要讨论的确实是这个问题,太多人关注工具 /框架 /用法而不关注问题
    xcodebuild
        12
    xcodebuild  
    OP
       2019-05-20 12:10:22 +08:00 via iPhone
    @omph 不是批斗哈,我相信设计模式也并非目标,只是手段
    ospider
        13
    ospider  
       2019-05-20 12:19:54 +08:00   ❤️ 1
    其实你想反对的是“货物崇拜编程”。可以看 wikipedia,或者知乎上的讨论。https://www.zhihu.com/question/318983653/answer/650055611
    xcodebuild
        14
    xcodebuild  
    OP
       2019-05-20 12:21:20 +08:00 via iPhone
    @ospider 还有这么一个名词,学习了
    devtiange
        15
    devtiange  
       2019-05-20 12:24:15 +08:00
    最佳实践和 redux 有个毛关系, 这么难用的货谁封的最佳实践?
    xcodebuild
        16
    xcodebuild  
    OP
       2019-05-20 12:28:10 +08:00 via iPhone
    @devtiange 哈哈这么难用的东西能这么火,其实有这个因素在。
    gzf6
        17
    gzf6  
       2019-05-20 12:30:32 +08:00 via iPad
    李小龙说得对,be water
    marsgt
        18
    marsgt  
       2019-05-20 12:45:49 +08:00   ❤️ 1
    认知三问:
    1. 它 是什么 /领域分类是否符合我们的需求?
    2. 它 起什么作用 /解决了什么问题?
    3. 它 的特性 /成本 /设计难点 /技术难度 是什么?

    既可以拿来做技术选型,也可以用来做逛超市时的挑选依据。

    至于最佳实践?对不起不存在的👋
    最佳实践必然存在一个前置条件,就是它是针对 /解决什么问题的。并且它和这个前置条件存在路径依赖,即没有这个前置条件,也不存在最佳实践,这也就是为什么会“没有银弹”。
    dfjslkjdf
        19
    dfjslkjdf  
       2019-05-20 12:52:24 +08:00
    trade-off
    KuroNekoFan
        20
    KuroNekoFan  
       2019-05-20 19:55:18 +08:00 via iPhone
    我想说 react-redux 就是银弹🛠
    conn4575
        21
    conn4575  
       2019-05-20 21:08:41 +08:00 via Android
    可以算是标题党么
    xcodebuild
        22
    xcodebuild  
    OP
       2019-05-20 21:09:31 +08:00 via iPhone
    @conn4575 嘛,刚开始的名字是涉嫌标题党了,接受批评
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.