• Naming Conversion & Case Style 命名规范


    前言

    写代码有 2 个点很重要

    第一是表达 (不要词不达意)

    要达到这点, 就要多参考其它人如何表达. 

    第二是一致性 (一样的东西就用一样的写法)

    要达到这点就要建立规范

    以前的笔记

    命名规范 naming conversion, camel case, pascal case, hyphen 等等

    Case Style

    pascal case = PascalCase

    camel case = camelCase

    kebab case = kebab-case (通常是 lower case)

    snake case = snake_case

    upper case = UPPERCASE

    lower case = lower case

    title case = Blog Title

    以下是我自己的规范和学习笔记

    Url Case Style

    Url 用 kebab-case

    query params 用 snake_case (oauth) 或 camelCase (gmail)

    Folder and File Case Style

    参考一些开源库: 

    .NET = PascalCase

    Angular = forlder: kebab-case, file: snake_case

    Angular Material = kebab-case

    React = forlder: kebab-case, file: camelCase

    Vue = folder: kebab-case, file: PascalCase or camelCase

    Me = need url access: kebab-case, 前端: kebab-case, 后端: PascalCase, 

    Folder and File Path Naming Conversion

    参考:

    What is the naming standard for path components?

    FileRootFullPath = C:ProjectHydrowwwrootuploaded-filesimage.jpg

    FileFullPath = wwwrootuploaded-filesimage.jpg

    Filename = image.jpg

    FilenameWithoutExtension = image

    Extension = .jpg

    DirectoryName = uploaded-files (和 .net 有分歧)

    DirectoryRootFullPath = C:ProjectHydrowwwrootuploaded-files 

    DirectoryFullPath = wwwrootuploaded-files 

    RelativePath = ./ or ../

    AbsolutePath = ~/abc/xyz

    DirectoryPath = "abcxyz"

    C# Case Style

    class name = PascalCase

    property name = PascalCase

    enum = PascalCase

    filed = camelCase

    private field = _camelCase

    variable = camelCase

    parameter = camelCase

    JS / TS Case Style

    class name = PascalCase

    enum = PascalCase

    property name = camelCase

    variable = camelCase

    parameter = camelCase

    SQL Case Style

    database name = PascalCase

    table name = PascalCase (Singular)

    column name = PascalCase

    query = UPPERCASE

    variable = camelCase

    trigger name for redundacy = TR_TableName_AfterInsert_ForRedundancy_TableName_ColumnName (第 1 个 table name 是被监听的, 第 2 个是冗余 table)

    trigger name for cascade = TR_TableName_InsteadOfDelete_ForCascade_TableName (第 1 和第 2 table name 是一样的)

    抽象的 array 和 object 命名

    EPPlus 叫 foreach (var item in collection)
    有些人叫 foreach (var obj in objects)
    有些人叫 foreach (var data in dataList)
    有些人叫 foreach (var obj in objects)
    我选 EPPlus
     
     

     

  • 相关阅读:
    Envoy
    Redis 使用总结
    kafka(一)
    docker搭建kafka环境&&Golang生产和消费
    docker-composer +Grafana+Prometheus系统监控之Redis
    Docker基础命令
    connection pool exhausted
    golang 单元测试&&性能测试
    golang http 中间件
    golang 函数的特殊用法
  • 原文地址:https://www.cnblogs.com/keatkeat/p/15082778.html
Copyright © 2020-2023  润新知