跳到主要内容

總覽

彈性

更強大、更容易還原的基礎架構。

安全

通過測試確保代碼和基礎架構盡可能少出現問題。

透明度

按照精確的規則進行編寫代碼的標準方式。

工具:

  • ESLint 示例:幫助您編寫更乾淨的代碼。

我們的所有項目都尽量使用 JavaScript。

如果您需要使用其他語言,首先檢查是否真的需要。

目前,我們仍然使用 JavaScript,而不是 TypeScript。

提示:為了方便合併請求的驗證,請遵循以下要點。

  • 使用 Docker 運行我們的軟件,而不是手動操作。
    主要目標:為開發人員和 Bobby / GCP / AWS 的生產環境提供相同的環境。

  • 代碼應該盡可能少出現警告並且要經過 lint 檢查。

  • 應使用環境變量。
    主要目標:不要將密鑰推送到 GitLab + 每個環境不同(SQL Server,郵件服務器等)。

  • DNS 可以更改為新的 IP,而不會破壞代碼。
    主要目標:代碼不應依賴基礎架構。

  • 如果滿足要求,CI / CD 應該自動部署。

警告:舊代碼可以更新,但新代碼必須遵循新的方式。

CamelCase

請尽可能使用駝峰命名法。

const pesDowntimeReasonList = "";

危險:不要混合使用駝峰命名法、帕斯卡命名法和短橫線命名法。

const isOk;
const isStillOk
const is_not_ok;

空格: 當您編寫語句時,請使用空格。

true;

const [video, setVideo] = useState();
const test = "Brilltek";

以下是錯誤的寫法。

false;

const [video, setVideo] = useState();
const test = "Brilltek";

if、while、for 和 foreach 之後應加上空格,括號之前應加上空格。

true;

if (a == b) {
a = "foo";
}

_________________________;

false;

if (a == b) {
a = "foo";
}

大括號應放在函數、條件語句、循環等的開始行上,else/elseif 應放在前一個右大括號的同一行上。

const foo = (var) => {
if (is_null(var)) {
return true;
} else {
return false;
}
}

不要在方括號中間加入空格。

true;

$a = ["foo", "bar"];
$c = $a[0];
$x = [];

_________________________;

false;

$a = ["foo", "bar"];
$c = a[0];
$x = [];

Switch 語句: 使用 switch 語句需要有充分的理由,當可以使用數組或 JSON 時不要使用 switch。

switch(case) {
case "start":
color = "#FFFFF"
case "stop":
color = "#00000"
case "pause":
color = "#efefef"
}

這是錯誤使用 switch 語句的例子,這只會使您的代碼更加混亂。 相反,您可以使用類似以下的 JSON 結構:

const colors = {
start: "#FFFFF",
stop: "#00000",
pause: "#efefef"
}

color = colors[case]

後端:

遷移: 提示:在創建、更新或刪除之前,始終先檢查現有字段或列。

危險:不要更改已經提交的遷移文件,您需要創建一個修改第一個遷移文件字段的新遷移文件。

路由: 使您的路由保持盡可能簡單。

真實例子:

create:
POST /user
read:
GET /user
update:
PUT /user
delete:
DELETE /user

錯誤例子:

create:
POST /user/create
read:
GET /user/get
update:
POST /user/update
DELETE:
POST /user/delete

避免在路由或變量中重複使用單詞,例如: 錯誤:/pes/pes_downtime_badReason/DowntimeBadReasonUpdate 更改為:PUT /pes/downtime/badReason