[英]Why use Camel Case for JS and Snake Case for your DB?
有人告訴我在我的DB中使用蛇盒而且從來沒有使用過籠子。 JSON API表示在對象鍵的單詞之間使用短划線。 Javascript,每個人都使用camelCase。
如果我有一個RAILS服務器從SQL數據庫獲取數據,將其作為json發送並在javascript中使用,我真的需要在這些表示法之間進行轉換嗎?
為什么不到處都使用蛇盒呢?
對於JavaScript,如果您想使用駝峰案例,則由您(或項目指南)決定。 但是因為幾乎每個majaor庫和核心API都使用駝峰情況,所以做同樣的事情是個好主意,因為那樣你就不需要考慮是否需要使用其中一個。
對於DBMS,它取決於操作系統和DBMS,因為使用混合字母時可能會遇到技術問題。 例如,如果您在Windows系統上運行MySQL數據庫,那么MySQL就不會關心表名的情況,因為文件系統不區分大小寫。 因此,Windows上的默認MySQL配置會自動將所有表名轉換為小寫。 只要您的DBMS將保留在Windows機器上,這不會有問題,但是一旦您決定切換到Linux基本服務器,那么將數據從Windows遷移到Linux機器箱會遇到很大問題。
為了不依賴於這些問題,通常只使用帶有DBMS的小寫字母,無論DBMS是否會出現大寫字母問題 。 使用小寫字母肯定沒有問題,如果可能是問題,您需要使用大寫字母進行調查。
你真的不需要按標准轉換它。 遵循命名約定,以便一組開發人員在同一應用程序上工作。
遵循組織定義的命名約定是最佳實踐,以便在開發人員之間更好地理解代碼。
您可以使用此庫在兩者之間進行轉換: case-converter它將snake_case轉換為camelCase,反之亦然
const caseConverter = require('case-converter')
const snakeCase = {
an_object: {
nested_string: 'nested content',
nested_array: [{ an_object: 'something' }]
},
an_array: [
{ zero_index: 0 },
{ one_index: 1 }
]
}
const camelCase = caseConverter.toCamelCase(snakeCase);
console.log(camelCase)
/*
{
anObject: {
nestedString: 'nested content',
nestedArray: [{ anObject: 'something' }]
},
anArray: [
{ zeroIndex: 0 },
{ oneIndex: 1 }
]
}
*/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.