我用C++編程。有時有1000種方法可以做某些事情,並且根據當下的靈感/能量等,我可以採取「正確的」或者不採取任何行動,花費10分鐘或3天的時間來解決問題或找到解決方案或做老闆的任務。在編程中處理打開問題的最有效方法
當你編程時,你如何處理這種「開放」的情況?使用你的直覺?以前有更多計劃嗎?
感謝所有可能的解決方案有很多
我用C++編程。有時有1000種方法可以做某些事情,並且根據當下的靈感/能量等,我可以採取「正確的」或者不採取任何行動,花費10分鐘或3天的時間來解決問題或找到解決方案或做老闆的任務。在編程中處理打開問題的最有效方法
當你編程時,你如何處理這種「開放」的情況?使用你的直覺?以前有更多計劃嗎?
感謝所有可能的解決方案有很多
重複,直到我有我需要的功能來真正解決問題。
現在檢查代碼是否足夠乾淨。大多數情況下不會。在那種情況下,重構直到它是乾淨的。
足夠清潔意味着:要麼比項目中的平均一段代碼更清潔,要麼儘可能乾淨,因爲我能寫出它。無論什麼是早先達成的。
好吧,我必須承認,這是至少我如何寫我的代碼。
選擇可測性作爲副作用的解決方案更喜歡精心設計的解決方案。
+1優秀的總結。 – 2010-02-28 20:59:25
我想:
這第一算法特別適合你第一次攻擊的問題。如果你擔心你的老闆會說「停」 2點後,只是做了幾個迭代你跟他/她面前......
我通常試圖找到一個衆所周知的模式適用於一個特定的問題。如果我找不到一個或者足夠接近我的解決方案的人,那麼我會做我認爲最好的,並且完全記錄我正在做的事情。
然後,六個月後,我重構它以應用其他人在類似情況下使用的更好的模式。
然後,十二個月後,我重新整理了整個該死的東西,並用五行代碼替換它。
儘量使未完成的工作量最大化。
對於一個開放的問題,我只是產生一個反映我目前已知信息的最小代碼。
這並不意味着我產生低質量的代碼。如果我不關心代碼的質量,那麼我將在未來的變化中不必要的努力,這些變化將會發生,當它是一個開放的問題時。如果新信息正在下降,我嘗試將它們合併到已有的代碼中。此外,設計/體系結構將與當前已知的信息保持一致。
可測性是一件好事。
另一件我很關注的事情是可讀性。 我通常會支持該代碼,所以最好是最簡單,最簡潔的方式,包括最少與非任務相關的實體。
本着DDD的精神,這將意味着將您的任務翻譯成編程語言的幾乎是自然語言的描述。
讓它運行;改正它;使其簡單。
或者闡述:
嗯,我不想回答,因爲純文本,但.NET代碼段;)
我認爲它容易讓C++開發,以瞭解以下信息:
SolutionRefining()
{
result= Requirements.Brianstorming(Current_Experience_Knowledge);
if(!result.Equals("Its Time To Design and Code"))//Assuming analysis is already done!
{
do
{
this.TakeRest_Break_HaveFun();//Multi-Processes OS ;)
result = QuickResearchSession(searchEngine Google, softwareCommunity StackOverflow, inHouseGuru Anonymous);
}
while(!result.Equals("Its Time To Design and Code"));
}
else
{
while(Testing().MajorBugs >= 1 && !Coding().Finished)
Develop().Review_UnitTesting().Commit();//artificial .NET! Don't try it in VS 2010.
SubmitProject().GetMoney().GetLaid();
WakeUp().GoToWork().BeReadyForNewFeaturesAttack();
}
MeanWhile (!Solution.Equals("Standard & Best Practice")) //MeanWhile can be found in .NET Framework 11.7301 Beta RC.45
{
//this method shall always invoked during the developer journey in the Software Life Cycle.
Study("Design Patterns").Understand().UnderstandMore().Apply();
UpdateTheToolKit();
SearchFor("Standard & Best Practice").Consume();
}
finally("Write your own A-Z framework").GetRetired();
}
請告訴我們爲什麼你的第一條線突出了? – 2010-02-28 21:38:17
VS2008到StackOverflow Editor QA Bug! – 2010-02-28 21:53:35
@jadook:你能更具體嗎?我一直希望能夠在幾個月內重現此錯誤,但一直未能。 – 2010-02-28 21:56:49
你實際上被支付找到最佳解決方案?可能不會。做你正在付錢的事情。 – 2010-02-28 20:10:39
您需要提出更多問題,直到問題更加狹義。如有疑問,請與同事談談。 – 2010-02-28 20:37:11