亞伯拉罕·林肯(abraham lincoln)說,給我六個小時的時間來砍樹,我將用頭四個時間來削斧頭。此宣告也適用於軟體開發。事實是,為了開發出色的軟體,您必須圍繞軟體元件的設計和互動進行大量思考。
為什麼要花時間在程式設計上?如果你花時間考慮您的程式設計將花費更少的時間進行編碼。
按照亞伯拉罕·林肯的**,您將花費33.3%的時間進行編碼。這是因為在程式設計之後,您知道了必須編寫的所有類和方法,以及它們將如何更改程式的狀態(資料)。它將幫助您將程式視為一組相互互動的模組,從而使程式模組化
。對程式進行模組化將簡化開發過程中的任務分配。它將幫助您編寫更好的**,因為您將不得不考慮程式分解和逐步優化。
總而言之,在編碼之前考慮程式設計將使您成為一名更好的軟體工程師和程式設計師。
tic-tac-toe(井字遊戲)是一款紙筆遊戲,面向x和o兩個玩家,他們輪流在3×3網格中標記空格。成功將三個標記放在水平,垂直或對角線上的玩家將贏得比賽。以下示例遊戲由第一位玩家x贏得(en.wikipedia.org,2018):
玩家很快就會發現,雙方的最佳表現會導致平局。因此,井字遊戲最常由年幼的孩子玩(en.wikipedia.org,2018)。
我選擇tic-tac-toe作為我們的案例研究,因為它相對容易程式設計,並且使我有機會談論
一些關鍵的軟體工程技術。您可以在以下鏈結中找到**:在github上給我發訊息
初始化玩家-獲取玩家的名字,為他們分配繪畫符號和id。
初始化遊戲網格-繪製tic-tac-toe網格,並為players設定初始回合。
等待玩家開始遊戲
如果有玩家玩過,請檢查獲勝情況
如果有勝利,請詢問玩家是否要繼續比賽。
如果他們想繼續玩,請重置遊戲網格並重置玩家的回合(返回2),否則宣告遊戲的獲勝者並退出程式。
如果沒有獲勝,則交替轉彎並回到3。
這是我開發該軟體的最初策略。當我開始編寫**時,我不得不改變這種策略,我意識到遊戲中大多數玩家的動作將是mouseclick事件,而我將必須通過實現事件偵聽器來處理它們。
tictactoe類-此類包含我們程式的主要方法。
gameboard類-此類實現我們的遊戲板並處理其上的所有互動。
玩家類別-此類代表遊戲中的玩家,並且還儲存該玩家的屬性。
除了這些類之外,這些類還共享乙個gameconstants介面。該介面指定遊戲所需的所有常量。
每當您在進行專案時,請確保先使用git或您選擇的任何其他版本控制工具初始化儲存庫。無論何時向**新增新功能,都要確保執行並提交這些更改。階段和提交經常發生,不要等到你達到了乙個重要的里程碑才開始階段和提交更改。
學電腦程式設計 秦皇島學少兒電腦程式設計優選童程童美
秦皇島學少兒電腦程式設計優選童程童美,學習少兒程式設計就選童程童美,童程童美專注於中國3 18歲青少兒程式設計教育,經過多年,研發出針對中國兒童的程式設計教育體系,在140多所中小學院校開展了程式設計課程。覆蓋幼兒園 小學 初中 高中全年齡段的全部課程覆蓋智慧型硬體 軟體開發在內的全部課程。學少兒程...
電腦程式是如何執行起來的
肯定有很多人很奇怪電腦程式是如何執行起來的吧。這其中涉及到了電子計算機最底層的原理,大家能夠了解的更為全面一些。我在這裡就簡單而形象的為大家講一講這其中的機理。第三次工業革命與前兩次工業革命有著乙個本質的不同,因為前兩次工業革命都涉及到了新能源的使用,第一次工業革命是蒸汽機的發明,第二次革命是內燃機...
簡說電腦程式是如何執行的
程式源 都是以人類語言寫成的。需要將人類語言翻譯為計算機語言。計算機能聽懂的語言,就叫做機器語言,簡稱機器碼。計算機處理器提供了一套它能夠支援的運算操作的集合,稱為 指令集 指令集限定了該處理器能夠進行的所有運算。而且這些運算通常都是關於數字的運算。所以,如果想解決乙個問題,那麼首先要把這個問題轉換...