我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
让我们列出你发布优秀和最喜欢的扩展方法的答案.
要求是必须发布完整代码并提供示例和如何使用它的说明.
基于对该主题的高度关注,我在Codeplex上设置了一个名为extensionoverflow的开源项目.
请标记您的答案并接受将代码放入Codeplex项目中.
请发布完整的源代码而不是链接.
Codeplex新闻:
24.08.2010 Codeplex页面现在在这里:http://extensionoverflow.codeplex.com/
11.11.2008 XmlSerialize/XmlDeserialize现在已实现并且已经过单元测试.
11.11.2008仍有更多开发人员的空间.;-) 现在加入!
11.11.2008第三个贡献者加入了ExtensionOverflow,欢迎来到BKristensen
11.11.2008 FormatWith现在已实现且已经过单元测试.
09.11.2008第二个贡献者加入了ExtensionOverflow.欢迎来到chakrit.
09.11.2008我们需要更多开发人员.;-)
在这里讨论了SO之后,我已经多次读过可变结构是"邪恶"的评论(就像这个问题的答案一样).
C#中可变性和结构的实际问题是什么?
最近Stack Overflow上出现了一群Perl-hate,所以我想我会把" 你讨厌你最喜欢的语言的五件事 "问题带到Stack Overflow.拿你最喜欢的语言告诉我你讨厌的五件事.那些可能是让你烦恼,承认设计缺陷,公认的性能问题或任何其他类别的东西.你只需要讨厌它,它必须是你最喜欢的语言.
不要将它与其他语言进行比较,也不要谈论你已经讨厌过的语言.不要用你最喜欢的语言谈论你喜欢的事情.我只想听听你讨厌但容忍的事情,这样你就可以使用所有其他的东西了,我想听听你希望别人会用的语言.
每当有人试图将他们最喜欢的语言推到我身上时,我就会问这个问题,有时也会作为面试问题.如果有人找不到讨厌他最喜欢的工具的五件事情,他就不会很清楚这一点,无论是提倡它还是使用它来获取大笔资金.他没有在足够多的情况下使用它来充分探索它.他主张将其作为一种文化或宗教,这意味着如果我不选择他喜欢的技术,我就错了.
我不在乎你使用哪种语言.不想使用特定的语言?然后不要.您是否经过尽职调查以做出明智的选择但仍然不使用它?精细.有时候正确的答案是"你有一个强大的编程团队,有很好的实践和很多Bar经验.改变Foo会是愚蠢的."
这也是代码审查的一个很好的问题.真正了解代码库的人会对它有各种各样的建议,那些不太了解代码库的人会有非特定的投诉.我问的问题是"如果你能重新开始这个项目,你会做些什么不同的事情?" 在这个幻想的土地上,用户和程序员会抱怨任何他们不喜欢的东西."我想要一个更好的界面","我想将模型与视图分开","我会使用这个模块而不是另一个","我会重命名这套方法",或者他们真的不喜欢不喜欢目前的情况.这就是我如何处理特定开发人员对代码库的了解程度.这也是关于程序员多少的线索
仇恨并不是弄清楚人们知道多少的唯一方面,但我发现它是一个非常好的维度.他们讨厌的事情也让我知道他们对这个主题的思考程度.
有没有办法确定方法需要执行多长时间(以毫秒为单位)?
在开发购物车应用程序时,我发现我需要根据管理员的偏好和要求保存设置和配置.此信息可以是公司信息,运输帐户ID,PayPal API密钥,通知首选项等.
创建一个表来在关系数据库系统中存储单行似乎非常不合适.
存储此信息的适当方法是什么?
注意:我的DBMS是SQL Server 2008,编程层是用ASP.NET实现的(在C#中).
35线,55线,100线,300线?什么时候应该开始分手?我问,因为我有60行(包括评论)的功能,并且正在考虑将它分开.
long_function(){ ... }
Run Code Online (Sandbox Code Playgroud)
成:
small_function_1(){...}
small_function_2(){...}
small_function_3(){...}
Run Code Online (Sandbox Code Playgroud)
这些函数不会在long_function之外使用,因为较小的函数意味着更多的函数调用等.
你什么时候将一个函数拆分成更小的函数?为什么?
谢谢大家的答案,编辑列表并投票给出正确的答案,我会选择那个;)
我现在正在重构这些想法:)
我将git用于个人项目,并认为它很棒.它快速,灵活,功能强大,适用于远程开发.
但现在它的工作是强制性的,坦率地说,我们遇到了问题.
开箱即用,git似乎不适用于大型(20多个开发人员)组织的集中开发,开发人员具有不同的能力和git复杂程度 - 特别是与Perforce或Subversion等其他源控制系统相比,针对那种环境.(是的,我知道,Linus从未打算这样做.)
但是 - 出于政治原因 - 我们仍然坚持使用git,即使它很糟糕我们正试图用它做什么.
以下是我们看到的一些事情:
但是,我听说人们在大型开发组织中成功使用git.
如果您处于这种情况 - 或者如果您通常拥有工具,提示和技巧,以便在一个大型组织中使用git变得更容易和更有效率,而某些人不是命令行粉丝 - 我很想听听您有什么建议.
顺便说一句,我已经在LinkedIn上问了这个问题的一个版本,并没有得到真正的答案,但很多"天哪,我也很想知道这一点!"
更新:让我澄清一下......
在我工作的地方,除了git之外我们不能使用任何东西.这不是一个选择.我们坚持下去.我们不能使用mercurial,svn,bitkeeper,Visual Source Safe,ClearCase,PVCS,SCCS,RCS,bazaar,Darcs,monotone,Perforce,Fossil,AccuRev,CVS,甚至是我在1987年使用的Apple的好投影仪.因此,虽然欢迎您讨论其他选项,但如果您不讨论git,您将无法获得赏金.
另外,我正在寻找有关如何在企业中使用git的实用技巧.我在这个问题的顶部列出了我们所遇到的问题清单.同样,欢迎人们讨论理论,但如果你想获得赏金,请给我解决方案.
c# ×2
profiling ×2
.net ×1
c++ ×1
coding-style ×1
enterprise ×1
function ×1
git ×1
gprof ×1
immutability ×1
ios ×1
mutable ×1
objective-c ×1
open-source ×1
optimization ×1
profiler ×1
refactoring ×1
sql ×1
struct ×1
time ×1
unix ×1