適用於SaaS初創公司的REST API的一系列模式和最佳實踐 - alexkrupp
來自alexkrupp的這篇文章雖然是基於Django/Python編寫,但是實踐原則是通用的。
大多數現有的軟體架構建議都是為 100 億美元以上的公司編寫的,因此往往側重於最大化效能、可擴充套件性、可用性、可靠性等。
這實際上造成了一個巨大的問題。問題是,由於在大學學習電腦科學,大多數在初創公司工作的工程師沒有接受過大量的業務培訓。因此,經常發生的情況是,這些開發人員透過複製 Google 或 Stack Overflow 中出現的第一個建議來決定如何實現功能,而沒有首先從業務角度評估該建議,而且由於這些建議中的大部分都是針對財富 500 強公司(在一個極端)或駭客馬拉松型別的愛好專案(在另一個極端),這不可避免地會導致巨大的看不見的成本。
我編寫本指南是為了解釋如何以一種方式編寫軟體,以最大限度地增加您的初創公司成功的機會——無論團隊規模、開發人員能力和未來不可避免但不可知的變化如何,都可以輕鬆保持開發速度。經驗、產品功能等。這個想法是,考慮到固有的不確定性,初創公司可以透過放置一些基本系統來幫助最大化他們可以測試的想法、功能和假設的數量,從而大大增加成功的機率。
以下是構建 REST API 的一系列模式和最佳實踐,專為滿足 SaaS 初創公司和消費者應用程式的需求而設計。
哪些工具對初創公司最有價值?根據我的經驗,答案是:可預測性、可讀性、簡單性和可升級性。
1. 可預測性
- 規則#1:每個端點都應該講述一個故事
- 規則 2:將業務邏輯保留在服務中(banq注:複雜業務放入服務會膨脹它 變成程式導向)
- 規則 3:使服務成為可重用的場所 (banq注:可重用的服務就不是微服務,微服務需要替換,不注重重用)
- 規則 4:始終清理使用者輸入,有時儲存原始輸入,始終轉義輸出
- 規則 #5:預設情況下不要拆分檔案,也不要拆分您的 URL 檔案
2. 可讀性
- 規則 #6:每個變數的型別或種類應該從其名稱中顯而易見
- 規則 #7:為檔案、類和函式分配唯一的名稱
- 規則 #8:避免在使用者程式碼中使用 *args 和 **kwargs
- 規則 9:使用函式,而不是類
- 規則 #10:正好有 4 種型別的錯誤
3. 簡單
- 規則 #11:URL 引數是一個騙局
- 規則#12:編寫測試。不是很多。主要是整合。
- 規則 #13:將單元測試視為一種專業工具
- 規則 #14:負責任地使用序列化程式,或者根本不使用
- 規則 #15:將管理功能編寫為 API 端點
4. 可升級性
本指南中的程式碼片段是使用 Python、Django 和DRF編寫的,但它們有意設計為即使您不太瞭解 Python 或 Django 也易於理解。我已經使用這些程式碼片段建立了一個完整的應用程式,以確保它們可以正常工作,並在此處釋出。選擇 Python 的原因是它通常是 ARR 低於 1 億美元的初創公司的最佳語言;作為所謂的第二好的語言,Python 為初創公司提供了最大的選擇餘地來試驗不同的產品功能和貨幣化模型。但是無論您使用什麼語言和 Web 框架,這些建議的大部分都是適用的。
相關文章
- 13 個設計 REST API 的最佳實踐RESTAPI
- SpringBoot優雅開發REST API最佳實踐Spring BootRESTAPI
- Serverless 在 SaaS 領域的最佳實踐Server
- 適用於初學者的基本 kubectl 和 Helm 命令
- 【原創】關於JAVA複習的最佳敏捷實踐Java敏捷
- SaaS 模式雲資料倉儲 MaxCompute 資料安全最佳實踐模式
- RESTful API 最佳實踐RESTAPI
- restful api最佳實踐RESTAPI
- Cloudflare宣佈適用於 Linux 的 WARP 和代理模式CloudLinux模式
- Vue最佳實踐和實用技巧Vue
- 初創公司的幻覺
- Android開發中API層的最佳實踐AndroidAPI
- 我所認為的RESTful API最佳實踐RESTAPI
- 使用Golang建立RESTful API的最佳實踐案例GolangRESTAPI
- 適用於設計師和圖形設計的最佳MacMac
- ChatGPT初學者最佳實踐ChatGPT
- 實踐基於REST風格的Webservice(PHP,C#)RESTWebPHPC#
- 7個API安全最佳實踐API
- Spring Boot 編寫 API 的 10條最佳實踐Spring BootAPI
- RabbitMQ實戰:訊息通訊模式和最佳實踐MQ模式
- 結合DDD和Spring Boot實現基於REST API的併發控制 -DZone JavaSpring BootRESTAPIJava
- REST API的藝術:初學者穿越API空間的旅程與速查表!RESTAPI
- 用ASP.NET Core 2.1 建立規範的 REST API -- 保護API和其它ASP.NETRESTAPI
- EasyMR 基於國產化信創的適配實踐技術詳解
- 基於gin適用於phper laravel使用習慣的api-skeleton(長期更新最佳化中)PHPLaravelAPI
- 電商 SaaS 全渠道實時資料中臺最佳實踐
- 你瞭解單例模式的最佳實踐嗎?單例模式
- 設計出色API的最佳實踐與原則 - JamesAPI
- Kubernetes 部署 Laravel 應用的最佳實踐Laravel
- AutoML初創公司探智立方:模型的物競天擇與適者生存TOML模型
- 到底什麼樣的 REST 才是最佳 REST?REST
- 阿里研究員谷樸:API 設計最佳實踐的思考阿里API
- 使用 Wake Lock API:保持裝置喚醒的最佳實踐API
- 混沌工程在創業公司的實踐 - 陸蓉蓉創業
- Flutter 應用程式佈局的最佳實踐Flutter
- 策略模式在應用中的實踐模式
- 智慧客服API最佳實踐—智慧物流客服API
- react 設計模式與最佳實踐React設計模式