V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Vegetable
V2EX  ›  问与答

真的没有一个<业务最佳实践>这样的网站吗?

  •  
  •   Vegetable · 2019-07-30 14:53:27 +08:00 · 2564 次点击
    这是一个创建于 1968 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我说的是这种实践:

    短信验证码存缓存还是存数据库?怎么设计 /判断验证码的过期逻辑? 前端是发起请求开始倒数还是收到返回开始倒数?

    这些的确都不是什么困难的东西,A 或者 B 也没太大区别.

    开源让写代码的门槛低了很多,但是涉及到业务的时候,"指导性"的东西就有点匮乏了.当初用 Django 开发一个 RESTful 服务,jwt 的验证放在中间件还是写一个视图类来处理也着实让我纠结了很久—— Django 的中间件都是全局的,需要手动处理特例,写类又显得太傻,Drf 的类我都继承一遍吗?每一个视图都加一个 Mixin 也很难看啊..

    类似的问题伴随了我的开发生涯,因为半路出家在一个小公司,甚至没有人带过我,一直是自己摸索前行,所以常常想,这个功能其他人是怎么设计的?这个功能大厂的人是怎么设计的?

    今天又在版面上看到了吐槽接口设计的帖子,日经算不上,一个月总能看到些这样的帖子,我觉得这也是缺乏指导信息造成的.没有文档约束的情况下,质量的失控是必然的,如果有一个类似于 https://dribbble.com 的网站,不知道这样的情况会不会有所改观.

    btw,leetcode 的讨论区好像和我期待的东西有点像.

    19 条回复    2019-08-03 14:06:55 +08:00
    mokeyjay
        1
    mokeyjay  
       2019-07-30 15:13:23 +08:00
    我也希望有这种网站
    EasyProgramming
        2
    EasyProgramming  
       2019-07-30 15:15:21 +08:00
    +1,这真是个很好的 IDEA
    carlclone
        3
    carlclone  
       2019-07-30 15:31:07 +08:00
    只能自己到 github 去翻箱倒柜了 , 你是说 LeetCode 的系统设计版块?
    airyland
        4
    airyland  
       2019-07-30 15:41:03 +08:00
    这个主意有意思,但是需要吸引到足够多的人一起讨论。
    Vegetable
        5
    Vegetable  
    OP
       2019-07-30 15:43:33 +08:00
    @carlclone 我说的是 leetcode 的题目讨论区,不过他们讨论的内容是算法的解法,而不是业务和设计之类的
    lshero
        6
    lshero  
       2019-07-30 15:44:03 +08:00
    如果最佳实践和原型图图不一样,怕你是通过不了验收的吧
    fofoone
        7
    fofoone  
       2019-07-30 15:49:02 +08:00
    这种问题我一般是 github 找一些项目,看别人实现。但是不要限制在你熟悉的语言。
    比如很多 web 实现,看得懂 php 还是很好找的。然后平时逛 github 多收集一些实际上线的项目,以后方便回来学习模仿。
    mcfog
        8
    mcfog  
       2019-07-30 16:09:52 +08:00
    你知道为什么没有吗?因为一个问题越是很多人碰到,越是存在足够通用的最佳解,那么这个东西有现成服务 /轮子,不需要每个程序员自己实现的概率就越大。程序员的核心价值之一就在于需求和系统之间的问题的复杂性,吃的就是这口饭

    你觉得如果存在一个网站你搜一些类似短信验证码的关键字他就能给一套可行方案出来的话,那么我们离 AI 写代码还有多远?不如说这个网站的 owner 傻么开这么个网站,做成 AI 写代码能取代多少程序员的岗位,理论上就能赚到多少钱
    taotaodaddy
        9
    taotaodaddy  
       2019-07-30 16:12:49 +08:00 via Android
    这些所谓的干货,会成为楼上说的轮子,或者可能会成为知识变现的资本,总之成为一个免费的精华知识站的概率貌似蛮低
    www6688w
        10
    www6688w  
       2019-07-30 19:11:49 +08:00 via Android
    这种实践大部分本身就没有最优的解决方案,通用方案一般很多,各有优点及缺点,重点还是要看业务实际需求。

    我个人觉得在设计之初不用太过纠结,在满足当前业务场景且能够预留后期扩展的解决方案,就可以使用了
    dioxide
        11
    dioxide  
       2019-07-30 19:29:37 +08:00
    github 上的 awesome-* 系列算不?
    whp1473
        12
    whp1473  
       2019-07-30 19:36:04 +08:00
    怎么说呢,业务设计要和实际场景、公司的现状人员相匹配,不存在最优解,只能说有一些比较通用的方案可以参考,在此基础上做改进。
    angith
        13
    angith  
       2019-07-30 20:14:39 +08:00 via Android
    好想法
    hyyou2010
        14
    hyyou2010  
       2019-07-30 21:15:24 +08:00
    好想法
    TPOB
        15
    TPOB  
       2019-07-30 21:22:23 +08:00 via Android
    好想法
    515576745
        16
    515576745  
       2019-07-31 00:03:32 +08:00 via Android
    +1 这种真的是经验之谈 不同规模的网站 不同的发展时期 早就的技术执行方案都不同。
    yuoboo
        17
    yuoboo  
       2019-07-31 00:15:50 +08:00 via Android
    同问同求
    leishi1313
        18
    leishi1313  
       2019-07-31 07:38:42 +08:00
    好像还没有人指出来,你其实问了两个问题:
    1. 如何设计模块、类
    2. 如何设计一个系统
    前者,多看看设计模式这种书,多写写代码,时候到了自然会有感觉。
    另外一个问题就是经验➕自己主动学习了 github 的 system-design-primer,design data intensive application, highscalability.com/all-time-favorites/上有很多非常棒的博文。
    其他的么,建议可以自己多尝试写写 design doc,然后在公司里做 design review,大家一起来谈论讨论各种设计的好坏进步会快点。大公司里基本都是设计和写代码一半一半,大部分时候甚至设计占的比例更高。
    jugelizi
        19
    jugelizi  
       2019-08-03 14:06:55 +08:00
    /t/331836
    确实是个好的 idea
    不如一起去把它实现
    即是提升自己
    也能帮助他人
    最后变成一个知识付费网站
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1438 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:58 · PVG 07:58 · LAX 15:58 · JFK 18:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.