反对最佳实践

2019-05-20 11:05:46 +08:00
 xcodebuild

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

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

另欢迎探讨和友链~

3372 次点击
所在节点    程序员
22 条回复
mcfog
2019-05-20 11:21:48 +08:00
典型的稻草人谬误

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

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

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

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

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

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

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

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

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

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

至于最佳实践?对不起不存在的👋
最佳实践必然存在一个前置条件,就是它是针对 /解决什么问题的。并且它和这个前置条件存在路径依赖,即没有这个前置条件,也不存在最佳实践,这也就是为什么会“没有银弹”。
dfjslkjdf
2019-05-20 12:52:24 +08:00
trade-off
KuroNekoFan
2019-05-20 19:55:18 +08:00
我想说 react-redux 就是银弹🛠

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565740

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX