万事都在寻找最佳实践,是没有创造力还是不自信自己太菜

2020-07-04 12:37:19 +08:00
 statement

发现好多事都会去找一个最佳实践来改一改,不然就很难下手。 自己也能做就是觉得可能有更成熟更好的,或者担心遗漏掉一些什么。

总是觉得完全自己创造的东西可能会出问题。

3454 次点击
所在节点    程序员
15 条回复
dun
2020-07-04 13:15:37 +08:00
这是「懒」。
secondwtq
2020-07-04 14:18:19 +08:00
不是,这就是个人的能力限制。
设想一个很实际的问题:你开发的项目,你依赖的其他代码都是按照最佳实践构建的,整个社区以最佳实践作为隐式的共识(或者叫 潜规则)。你不知道这些最佳实践,那你读不懂代码,用不了库,无法和其他人交流。
在工作里就更别说了,你的公司的代码规范就是最佳实践,你写的代码不遵守那就等于是没用的代码。
你一个人没有办法创造一个新的生态环境,没有办法自己做生意,不然你就不会用别人的语言,给别人的公司打工了。

我举个例子,现在有句话说 C++已经过于复杂,现在学习 C++很多不是在学习 feature,而是学习 idiom 。C++里面有种 idiom 叫 CRTP,就是”类 A 继承模版类 B<T>,但是继承时的模版参数写成类 A 自己,即 A : B<A>”。你抛出一个问题,人家会说”CRTP 可以解决”,这时候你是不得不去查 CRTP 是什么。之后在代码注释里,在和其他人交流时也会用 CRTP 来指代这一 idiom,而不是把上面引号的内容重复一遍。

需要注意的是,所谓”最佳实践”,不一定真的是”最佳”的,你说他是社区的最大公约数也无所谓,因为有的时候就是几个 KOL 暴论一番就搞出了个新的”最佳实践”,这个回复只是讨论了解已有的”最佳实践”的实际效果。
KuroNekoFan
2020-07-04 14:26:35 +08:00
这种心态不是挺好的嘛,至少比盲目自信一点不遵循实践建议好
Jrue0011
2020-07-04 16:02:05 +08:00
参考借鉴没什么问题,拿来主义和闭门造车都不好
luckyrayyy
2020-07-04 16:03:20 +08:00
我也是这样的...做个方案总想找到最优解,然后就改来改去
namelosw
2020-07-04 16:22:44 +08:00
自己先不看答案想一套方案,然后看看标准答案。

然后觉得哪个好就搞哪个。学习也是这个道理。
InternetExplorer
2020-07-04 16:40:44 +08:00
懒 + 完美主义(强迫症) + 拖延症

克服方法的话可以试试 TDD,写完实现再重构优化
cwjokaka
2020-07-04 17:58:25 +08:00
多看一些最佳实践,总结出自己的一套最佳实践
xuanbg
2020-07-04 18:50:07 +08:00
首先,楼主不知道如何解决问题,只知道懵懵懂懂地去寻找自己也不知道是不是的「最佳实践」。

然后,我推测楼主其实是根本不知道问题是什么。这就比较僵硬……

忘记是谁说过这么一句话:提出问题是技术活,解决问题是体力活。吾心有戚戚矣。
dozeboy
2020-07-04 19:39:02 +08:00
我也常常陷入这种困惑中。但现在觉得并没有什么最佳,技术是会一直进步的,这是一个动态的过程。好的程序员应该是在自己的能力范围内找出尽量好的方案,而不是一味追求最优解。对于公司来说,最佳也并不意味着最好,需要考虑时间,人力,维护等因素。
盲目选择某一项技术和过于苛求一下子做到最好都不是好事。
DoctorCat
2020-07-04 19:46:22 +08:00
不是菜,是没见过“世面”(不是贬义)没怎么看过别人怎么设计的,暂时无法融会贯通。
不过,没关系,能 running 的代码才能产生价值。毕竟绝大部分人不是艺术家,写写闭源代码也是为养家糊口而已。别太纠结。
ps:中国互联网早期有个比较有名气的软件,作者财务自由去美国了,把软件卖给某大公司,公司接到软件代码的码农表示这代码写得真 XX,表示自己也能写个更好的:就这?
hst001
2020-07-04 20:27:17 +08:00
少走弯路
lizon
2020-07-04 21:30:30 +08:00
寻找最佳实践很正常

最佳实践是从过往的工程实践中获得的。最佳实践不一定是当前场景事实上的最优解,但一定是当前有限成本(经济成本,时间成本,智力成本,试错成本,后期维护成本等等)的情况下最值得优先尝试的方案,这个"值得"是从节省成本的角度来说的

如果判断有改进的必要,那可以投入成本改进现有方案,适应当前细分场景就行了

当然理想情况下你可以投入无限的时间成本,经济成本,了解所有细节,设计出一套适应当前情况的最优方案,但是情况又是不断变化的,现在的最优不代表永远的最优,这样做真的值得吗

trade off
mawerss1
2020-07-05 12:44:15 +08:00
就是不会
TransAM
2020-07-05 22:33:22 +08:00
很久以前 for 循环和 while 循环也是最佳实践,直到他们被做到了特性里面。

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

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

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

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

© 2021 V2EX