首頁 Java java教程 成為更好的編碼員:提示

成為更好的編碼員:提示

Sep 26, 2024 pm 05:06 PM

Become a Better Coder: Tips

網路上流傳著無數的 Python 最佳實踐,對每個最佳實踐的看法可能會因你詢問的人而異。網路使專業知識民主化,允許任何人——包括我自己——分享他們的觀點。然而,在本文中,我們將重點關注 10 個永恆的 Python 最佳實踐,這些實踐已獲得廣泛共識並被廣泛認為是基礎。

Pandas 備忘錄

Git 指令備忘單

前 50 個 SQL 面試問題

提示 1:函數應指定參數與傳回型別
定義函數時,您希望始終指定參數的類型以及函數傳回的資料類型。這將幫助您和團隊中的開發人員知道會發生什麼,而不必總是使用列印語句來獲得直觀的理解。

提示 2:函數應該處於相同抽象層級
當我們談論處於相同抽象層級的函數時,我們指的是函數應該執行單一、定義良好的任務的想法。該任務在整個功能中應該處於一致的抽象層級。換句話說,函數應該專注於特定層級的細節或複雜性,並且所有函數的操作都應該在同一層級上運行。

技巧 3:函數應該很小
函數應該是可重複使用的。而且函數越大,可重複使用的可能性就越小。這也與為什麼一個函數應該只做一件事有關。如果它只做一件事,那麼它很可能會很小。

技巧4:開閉原則
開閉原則 (OCP) 規定類別、方法或函數必須對擴展開放,但不能對修改開放。這意味著定義的任何類別、方法或函數都可以輕鬆地重複使用或擴展用於多個實例,而無需更改其程式碼。
這不符合 OCP,因為每當有一個新的國家時,我們就需要寫一個新的 if 語句來補充它。現在這可能看起來很簡單,但想像一下我們有 100 個或更多的國家需要考慮。看起來怎麼樣?

提示 5:不惜一切代價避免發表評論
評論有一種虛假的真實性。它們將讀者的注意力從程式碼實際執行的操作轉移到其他人所說的執行的操作上。

隨著時間的推移以及程式碼收到更新或更改,這可能會變得非常成問題。在某些時候,評論會變成謊言,現在每個人都必須透過謊言的鏡頭來觀察真相。

必須不惜一切代價避免發表評論。評論迫使讀者繼承你的想法,而你的想法充其量只是過去的。當函數或類別更改時,它的註解很可能不會隨之更改。最有可能的是,它們阻礙了讀者向前思考。

註解顯示作者精神上無法提供描述性良好的類別、函數或變數名稱。它暴露了程式設計師平庸的態度,並迫使團隊繼承這樣的態度。

提示 6:避免使用幻數
幻數是一個硬編碼值,可能會在稍後階段發生變化,但因此很難更新。

例如,假設您有一個頁面在「您的訂單」概覽頁面中顯示最後 50 個訂單。 50 是這裡的神奇數字,因為它不是透過標準或約定設定的,它是您出於規範中概述的原因而編造的數字。

現在,您要做的就是在不同的地方擁有這50 個訂單- 您的SQL 腳本(從訂單中選擇前50 個*)、您的網站(您的最後50 個訂單)、您的訂單登入資訊(對於(i = 0; i

提示 7:避免深層巢狀
限制循環、條件或函數內的巢狀層級以提高可讀性。

提示 8:避免硬編碼路徑
避免對檔案路徑或 URL 進行硬編碼;請改用設定檔或環境變數。

提示9:小班授課
是的!班級規模應盡量小。就像函數一樣。

唯一的區別是,在函數中,大小由該函數中的行數決定,而在類別中,大小由該類別中的職責數量決定。

通常,類別名稱代表它可能擁有的職責類型,但是當名稱不明確或過於籠統時,很可能我們賦予了它太多的職責。

這讓我們回到了 SRP(單一責任原則),它規定一個類別應該只有一個理由——一個責任——來改變。

提示 10:避免複雜的三元表達式
避免使用過於複雜的三元表達式;優先考慮可讀性而不是簡潔性,以使程式碼更容易理解。

以上是成為更好的編碼員:提示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1316
25
PHP教程
1266
29
C# 教程
1239
24
公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

如何將姓名轉換為數字以實現排序並保持群組中的一致性? 如何將姓名轉換為數字以實現排序並保持群組中的一致性? Apr 19, 2025 pm 11:30 PM

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

如何使用MapStruct簡化系統對接中的字段映射問題? 如何使用MapStruct簡化系統對接中的字段映射問題? Apr 19, 2025 pm 06:21 PM

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? Apr 19, 2025 pm 11:45 PM

在使用IntelliJIDEAUltimate版本啟動Spring...

如何優雅地獲取實體類變量名構建數據庫查詢條件? 如何優雅地獲取實體類變量名構建數據庫查詢條件? Apr 19, 2025 pm 11:42 PM

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Java對像如何安全地轉換為數組? Java對像如何安全地轉換為數組? Apr 19, 2025 pm 11:33 PM

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? 電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? Apr 19, 2025 pm 11:27 PM

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

如何利用Redis緩存方案高效實現產品排行榜列表的需求? 如何利用Redis緩存方案高效實現產品排行榜列表的需求? Apr 19, 2025 pm 11:36 PM

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

See all articles