跟著 這個系列 旨在提高我們在 Linux 中的編程技能,我們將分析編程活動的第二階段。 我們已經確定,雖然編碼是編程任務的一部分,但這包括從確定應用程序要解決的問題到準備運行的所有過程。
階段 2:解決方案規劃
任何參與過項目的人都知道,理想的解決方案很少與可能的解決方案相匹配。. 或者我們沒有財政資源或技能來實施它們。 在這個階段,我們決定我們可以做什麼來滿足我們的需求:
為了讓您理解我的意思,我將舉一個與編程無關的示例。
一對有兩個孩子的已婚夫婦,他是一名律師,她是一名會計師。 他們每個人都租了一間辦公室。 他們決定可以省下這筆錢,給他們的房子加一層樓,把一樓留給工作,一樓留給家庭住房。 隨著計劃的製定,他們發現了一個問題。 市議會不允許建造二樓。
他們至少有四種不同的解決方案:
- 搬出去
- 又要租辦公室了。
- 讓房間多用途。
- 用回收的集裝箱建造二樓。
用同樣的方式 當我們執行規劃應用程序的任務時,很可能會遇到一些我們不能或不應該做的事情。 當然,專業程序員可以在問題設計階段考慮這些限制,但是,我們是為業餘程序員編寫的。
好消息是,正如我們有限制,我們也有協調人。
在繼續該主題之前,我們需要定義一些術語:
- 算法: 根據維基百科,這是一個 一組定義的、明確的、有序的和有限的指令或規則,通常可以解決問題,執行計算,處理數據並執行其他任務或活動。 給定初始狀態和輸入,按照連續的步驟,達到最終狀態並獲得解決方案。
- API: 它是應用程序編程接口的英文縮寫。 它由一組定義和協議組成,允許兩個獨立開發的應用程序相互通信, 無需負責人知道對方的代碼。 例如,許多城市都有移動應用程序,告訴市民如何從一個地方到達另一個地方。 為此,他們依賴地圖服務,例如 Google Maps 或 OpenStreetMaps。 通過免費或付費的 API,可以節省大量編程時間並整合原本無法訪問或部分訪問的功能。
- Biblioteca: 有人稱它們為書店,直接從英文翻譯過來,但由於我的書店是賣書的地方,所以圖書館似乎更合適。. 這些是可由其他程序使用的通用和專用小程序。 例如,打印 PDF 格式的文件。
- 框架: 你知道樂高嗎? 它們是那些嵌在另一個上面的塑料磚,你可以用來建造東西。 好的, 框架是您可以在其上構建項目的各種組件和模板。 其中許多都在開放許可下可用。
- 編程語言: 是關於你的n 具有明確定義的語法規則的語言,可用於描述以算法分組的一系列指令或順序序列. 有用於特定目的(數據分析、遊戲創建)的語言和用於一般目的的其他語言。
我稱他們為促進者,因為任何你需要編程的東西,肯定有人已經做過了,在網上搜索或者你可以找到要復製或粘貼的代碼,或者作為進行修改的指南
正是在這個階段,我們收集了我們將用來構建解決方案的材料。 我們選擇一種編程語言、一個集成開發環境、庫,以及一個框架(如果有的話)。 與自由軟件世界中的許多其他事物一樣,每種工具都有其擁護者和批評者。 最好嘗試直到找到最適合您的組合。