2013-02-11 31 views
-2

好吧,所以如何解決這個問題以及如何解決這個問題有一百萬個問題,但是我找不到一個關於如何真正解決一般編程問題的好資源。就像首先將問題分解成簡單的部分並單獨攻擊每一部分或者等等等等。我知道,如果你看看優秀的程序員,他們都會在解決問題時遵循一定的路徑,如果你比較這些優秀的程序員方法,你可以看到他們的方法跨越很多地方。因此,對於所有新來者和程序員來說,解決典型編程問題最好的一步步方法(準則)是什麼?解決編程練習的一般指導方法?

+0

http://www.javacamp.org/designPattern/ – 2013-02-11 07:47:52

+0

http://www.howtoprogram.it/ – Azodious 2013-02-11 07:48:25

+0

考慮到無數使用計算機應用程序的領域,我懷疑你可以想出一個步驟一切的一步指南。我認爲你提到的那個是唯一真正擁有的一個。將事情分成小塊取決於給定人的經驗和知識。具有不同背景的不同人將很可能將相同的新問題分解成不同的塊。 – npinti 2013-02-11 07:49:11

回答

1

你的問題在學術上是抽象的,這意味着它不能爲你提供有價值的指導方法來解決實際的編程問題。

想象一下,您有一個工具箱,並詢問如何將其用於抽象任務。你期待什麼作爲答案?這幾乎是你問的問題。

儘管如此,對於每種類型的任務選擇哪種工具以及如何對其進行操作,還有一些指導原則。

首先,你必須選擇技術(工具)來使用你的任務。有幾種類型的程序,你必須瞭解你正在處理哪一個。你必須考慮你的預算,上市時間和其他限制。例如,如果您正在使用Web應用程序,那麼您可以選擇幾種工具。鑽子,驅動程序,衝擊驅動程序,衝擊扳手......哦,這些都來自雜工工具箱......您有一個不同的工具箱,其中有Java堆棧,Microsoft堆棧,Ruby on Rails,PHP和其他更具異國情調的技術堆棧。根據任務和您的個人經驗或資源可用性,您可以做出決定。

當你擁有自己的技術時,你可以深入探索(閱讀你即將使用的工具的使用說明)。在IT世界的指示將是書或其他類似的資源。特別是,爲了正確設計Java或C++/C#應用程序,您需要熟悉基本的設計模式。另一方面,如果您使用的是Ruby on Rails,那麼這些模式對您並不會有好處。

最後但並非最不重要的一點是要學習如何組織項目的工作。如何將一個大項目分成更小的任務,如何跟蹤進度並確保其按時完成。除了編程技巧之外,它還使您成爲項目經理。

有幾種流行的方式來管理IT項目(不僅僅是IT)。最流行的就是所謂的敏捷方法論。這基本上是一套指導方針。您可以選擇適合您的項目和您的團隊的項目。

0

考慮到你已經熟悉編程的東西,這些都是來我的心步驟:

  • 考慮的問題作爲一個整體在第一一目瞭然。試着清楚地理解預期的輸入和輸出以及總體思路。
  • 正如你已經提到的那樣,把問題分解成有意義的作品/邏輯片斷是非常重要的,這些作品/邏輯片段將互相「交談」。如果你認真對待前面的步驟,它可以幫助你很多這個
  • 選擇每件作品後,開始考慮一個想法來解決這一小部分。不要限制你已經熟悉的可用工具。想想這個想法。有許多工具/軟件包/等等,你不知道他們在完成你的想法後可以在網上找到並給你帶來驚喜!
  • 如前所述,不要限制自己,只要考慮要使用的編程語言的性質即可。有時候,你可能會面臨一些限制,有...
0

使用費曼問題解決算法:

  1. 寫下問題
  2. 覺得很辛苦
  3. 寫下答案

第一步是最重要的一步。第一步的本質是爲了解決問題,你必須首先理解它。你不必把它寫下來。如果你發現寫作無聊,你可以反而向某人描述你的問題(一個co-worker或甚至一個rubber duck)。大多數問題可以通過這種方式解決。

如果第1步失敗,則需要使用第2步。如果發現思考難度過大,還有其他選擇。既然你已經完成了第一步,你現在就知道這個問題了。所以你也知道什麼關鍵字提供給谷歌。有了良好的谷歌查理,你應該得到一些好點擊,可能在stackoverflow。如果不是的話,你可以在stackoverflow上提出一個新的問題,或者真的認真思考並自己解決問題。

第3步。很簡單。你明白這個問題。你已經想出了一個解決方案。剩下的就是編寫,測試和記錄代碼。不應該太難,只是麪包和編程節目的另一天。