前言
写代码有 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 是一样的)