• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hambman
V2EX  ›  程序员

业务代码和非业务代码的区别?

  •  1
     
  •   hambman · Oct 16, 2020 · 5934 views
    This topic created in 2211 days ago, the information mentioned may be changed or developed.
    大部分代码应该都是业务代码,只有少数基础设施才是非业务代码,比如数据库啊之类的 ?

    大家的经验,写这两类代码的区别是什么, 需要怎样不同的风格?
    19 replies  •  2020-10-17 05:43:22 +08:00
    p1094358629
    p1094358629
    Oct 16, 2020❤️5
    1
    业务代码只能自己写,非业务代码 cv 大法
    eric1202
    eric1202
    Oct 16, 2020
    2
    @p1094358629 言简意赅
    crclz
    crclz
    Oct 16, 2020❤️2
    3
    非业务代码 = xx 环境的安装与搭建
    skrskrskrskr
    skrskrskrskr
    Oct 16, 2020
    4
    一个赚钱,一个不赚钱
    zunceng
    zunceng
    Oct 16, 2020❤️1
    5
    正好相反

    业务代码初写很多 随着迭代 会被浓缩成一个配置或者一种语言 精简扼要的描述业务

    剩下的都是非业务代码
    vindurriel
    vindurriel
    Oct 16, 2020 via iPhone
    6
    我的经验是 code repo 不一样 测试 评审标准不一样 团队甚至都不一样
    coderxy
    coderxy
    Oct 16, 2020
    7
    非业务代码一般质量会好一点,没那么严格的工期逼着你。
    hitmanx
    hitmanx
    Oct 16, 2020
    8
    以前听 George Hotz 的说法是,看这个事情距离 computer science 那些核心知识点的远近,核心知识点就是 cs 那些经典的专业课咯,比如操作系统、编译原理、数据结构与算法、计算机网络等等。
    iyangyuan
    iyangyuan
    Oct 16, 2020
    9
    业务代码随着需求的不断变化,再加上业务的复杂性(比如大的表单验证、数据导入),可能会比较冗余(不重构的前提下)。
    而非业务代码,架构设计完成之后,很容易写出漂亮的代码。
    securityCoding
    securityCoding
    Oct 16, 2020
    10
    好不好看
    CODEWEA
    CODEWEA
    Oct 16, 2020❤️1
    11
    其实没有太大的区别,只是需求不一样

    业务代码服务的是可能不断变化的需求,是阶段性的
    非业务代码服务的是技术架构,需要考虑长远

    业务代码讲究务实,千万不要花里胡哨,遵循最小资源实现即可 ,太多的设计反而维护成本太高,导致产出比失衡
    非业务代码讲究整体性,要考虑以及未来技术架构的发展,代码结构是需要设计的。
    imn1
    imn1
    Oct 16, 2020
    12
    很久很久以前,我就是专写非业务代码的,写了很多字符串相关的函数
    例如编码转换、拼音排序、日语汉字与汉语汉字转换……等等
    给别人用时,他们就不需要相关知识(现在不少人还搞不定正则和 Unicode ),也不用考虑相关逻辑,一进一出就是了

    以前一个同事也是专门写非业务代码,他熟习的是文件处理
    别人用就"write(文件, 内容)"就够了,连内容的类型(str, number, bytes...)都能在函数内部识别并处理,使用的人完全不用考虑逻辑,以及异常处理
    ericgui
    ericgui
    Oct 16, 2020
    13
    @coderxy 毕竟非业务代码也不会经历大量的变动,不会今天加个需求,明天改个需求,后天删个需求
    所以可以慢慢重构,讲求质量
    zzzzzzggggggg
    zzzzzzggggggg
    Oct 16, 2020
    14
    并没有严格的区分,业务代码写多了,提炼出公共的、可复用的专门维护,就成为了非业务代码。
    如果实在要区分,非业务代码可以在多处使用,业务代码只使用一次;非业务代码服务于业务代码
    CoderGeek
    CoderGeek
    Oct 16, 2020
    15
    业务代码是业务逻辑, 框架, 组件扩展 比如 DB 同步一些通用组件 都可以不叫业务 可以复用
    CoderGeek
    CoderGeek
    Oct 16, 2020
    16
    非业务代码需要沉淀 大部分业务代码用完就废弃了
    DoctorCat
    DoctorCat
    Oct 16, 2020
    17
    同意 1 楼的说法。

    补充个场景,新接手 repo 看到的情景,Service 、DAO 代码:这特么写得啥玩意,我还得贴需求上去贴哪里好呢?
    非业务代码:白嫖这 helper 、utils 真香
    YYYeung
    YYYeung
    Oct 16, 2020
    18
    业务代码:业务面向客户
    非业务代码:业务面向同行
    hambman
    hambman
    OP
    Oct 17, 2020
    19
    谢谢大家讨论 @CODEWEA 的理解很我最接近。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3027 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 04:34 · PVG 12:34 · LAX 20:34 · JFK 23:34
    ♥ Do have faith in what you're doing.