微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
coding-style专题提供coding-style的最新资讯内容,帮你更好的了解coding-style。
我正在为Emacs( google-c-style.el)和Vim( google.vim)使用google c indent风格. 但是,由于我有一些现有的代码不是这种风格,我希望我可以改变它.我发现有一个名为GNU indent的工具可以自动执行这样的操作,它在this page上提供了一些常见的样式设置,但是没有针对Google c缩进的样式. SO还有等同的吗? (我尝试了Linux和Be
根据 Apple,应使用两到三个字母的前缀 when naming classes, protocols, functions, constants, and typedef structures. 这是否包含不是作为框架一部分的类,只是在应用程序中内部使用?我意识到这是依靠其他开发人员开发可能使用前缀的框架,但这似乎是可以接受的.核心数据实体呢?如果我从他们那里生成课程,那么他们不应该被赋予前缀
我目前看到很多问题被标记为C并且涉及处理数组. 甚至还有一些问题,询问std :: vector将提供的数组的方法/功能没有任何魔法. 所以我想知道为什么这么多开发人员在C中的std :: vector中选择数组? 一般来说,我非常喜欢在阵列上使用矢量进行非平凡的工作;然而,阵列有一些优点. >数组稍微紧凑:大小是隐式的>数组不可调整大小;有时这是可取的>数组不需要解析额外的STL头(编译时)>可
我刚刚在我们正在处理的一些代码中挖出了一个错误*由于以下情况而失败: Assert(SomeVitalFunction(foo) == OK) DEBUG宏#defined一直都很好用: #ifdef DEBUG #define Assert(x) if((x) == 0){/*some error handling*/} #else #define Assert(x) #end
我正在学习C语言.在书中,它说: “仅在初始值是变量语义的一部分时才声明变量.如果初始值是算法的一部分,请使用单独的赋值语句.例如,代替 int price = units * UNIT_PRICE; int gst = price * GST; 写 int price, gst; price = units * UNIT_PRICE; gst = price * GST; 我不明白为什么要
我意识到关于C中的朋友课有很多问题.不过,我的问题与具体情况有关.鉴于以下代码,以这种方式使用朋友是否合适? class Software { friend class SoftwareProducer; SoftwareProducer* m_producer; int m_key; // Only producers can produce software
假设你有一个菜单项和一个按钮做同样的任务。 为什么不好的做法是将任务的代码放入一个控件的动作事件中,然后从其他控件调用该事件? Delphi允许这样做vb6,但realbasic不,并说,你应该把代码放入一个方法,然后调用菜单和按钮 这是一个如何组织你的程序的问题。在您描述的方案中,菜单项的行为将按照按钮的方式来定义: procedure TJbForm.MenuItem1Click(Sender
你遵循什么Delphi编码标准文件? 我们公司正在考虑制定更好的编码标准,以提高代码的可读性,可审阅性和可维护性。我们已经遇到了CodeGear的“对象Pascal风格指南”,但是在一段时间内还没有被触动,我想像一些人已经做了一些本地的改进或补充。我已经看到一些发布的变体和其他文件,我将在下面列出。 注意:我不想开始一场风格战。我只是想知道你遵循的标准,为什么。 谢谢。 更新:嗯,“JCL Del
在处理商业课程时,像典型的Customer和Employee课程,最好只使用getter和setter,还是使用属性? 我正在翻译为Delphi(用于自学习)Java书籍的一些OO示例,在这些示例中总是有GetName()和SetName(),不使用属性. 现在,我可以看到,如果我创建一个具有已发布属性的组件,我有一个非常好的使用属性的原因,但在正常类中,哪种方法更好?使用getter和sette
我认为在 Windows 7中有一个定制的窗口样式.像这样: 而且你可以看到它与普通风格不同: 如何创建一个您可以在第一张图片中看到的风格的窗口? 什么Delphi版本?德尔福2010年可以做到这一点: 你只需要使用窗体的GlassFrame属性.您可能还想在这里阅读我的答案,并确保您还阅读了以下意见:Delphi support for Aero Glass and the DoubleBuff
在Delphi编码标准中,在函数/过程中在参数名之前添加A前缀的规则是什么? 例如: constructor Create(AOwner: TComponent); override; constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); virtual; procedure AddAncestor(Component: TC
几个月前我写了一堆代码,现在我正在添加一些代码.我意识到我写了一堆函数,这些函数来自一个类,它有大约2/3的函数抽象和剩下的1/3虚函数. 我非常厌倦看到: function descendent.doSomething() : TList; begin inherited; end; 当我为基类得到这个: function descendent.doSomething() : TList;
Code Complete表示总是使用块标识符是一种好的做法,无论是为了清晰还是作为防御措施. 自读这本书以来,我一直在虔诚地做这件事.有时看起来似乎过多,如下面的情况. Steve McConnell是否有权坚持始终使用块标识符?您会使用以下哪些? //naughty and brief with myGrid do for currRow := FixedRows to RowCount
procedure MyProc(Eval: Boolean); begin if not Eval then Exit; /* do stuff */ /* do more stuff */ end; 要么 procedure MyProc(Eval: Boolean); begin if Eval then
长期以来,Pascal和Delphi开发人员,我总是排队我的开始和结束: begin if x = y then begin ... ... end else for i := 0 to 20 do begin ... ... end; end; 什么驱动我坚果是代码格式化: begin if x = y th
我们组织中有许多初级Delphi开发人员,作为Delphi教学过程的一部分,我希望他们能够看到“干净”,写得很好,设计精良的Delphi代码. 我要寻找的一些标准包括: >优秀的班级结构 >很好地使用接口 >不过于复杂或困难,但复杂而且难以指导. >小方法 >单元测试代码. 一般来说,我正在寻找能让鲍勃·马丁叔叔自豪的代码. 我熟悉许多流行的Delphi开源项目,但我想了解社区的建议和建议. 我会
我想为我们的Delphi代码库强制执行编码标准. 一些同事建议使用Code Healer和Pascal Analyzer.我看过这些工具并不合适. 我希望能够做同样的事情,CheckStyle for Java或StyleCop for C#可以做到 一些较新版本的Delphi在Model视图中提供了 Audits and Metrics,也可以配置为设置允许的限制.它们不是从命令行运行以进行构建
我注意到静态方法在F#中比C#更受欢迎.在C#中,您总是通过调用实例方法向集合添加元素: mySet.Add(elem); 但在F#中通常有一个等效的静态方法: mySet.Add(elem) // OR Set.Add elem mySet 我在样本中经常看到后一种形式.在我看来,两者在语义和功能上完全相同,但是来自C#背景,使用实例方法感觉更自然.哪个是F#更好的风格?为什么? 除了与类型推断
为什么很多人都这样做: public enum EmployeeRole { None = 0, Manager = 1, Admin = 2, Operator = 3 } 而不只是做: public enum EmployeeRole { None, Manager, Admin, Operator } 有优势吗? Are there advantages? 可
这个问题来自针对我创建的对象的代码分析.分析说我应该捕获一个比基本异常更具体的异常类型. 您是否发现自己只使用捕获通用异常或尝试捕获特定异常并使用多个catch块默认为一般异常? 有问题的代码块之一如下: internal static bool ClearFlags(string connectionString, Guid ID) { bool returnValue = false;