我用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