万事都在寻找最佳实践,是没有创造力还是不自信自己太菜 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
statement
V2EX    程序员

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

  •  1
     
  •   statement 2020-07-04 12:37:19 +08:00 4071 次点击
    这是一个创建于 1935 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

    trade off
    mawerss1
        14
    mawerss1  
       2020-07-05 12:44:15 +08:00
    就是不会
    TransAM
        15
    TransAM  
       2020-07-05 22:33:22 +08:00 via Android
    很久以前 for 循环和 while 循环也是最佳实践,直到他们被做到了特性里面。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3441 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:01 PVG 13:01 LAX 22:01 JFK 01:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86