问题标签 [code-complete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 我怎样才能成为一个更好的 C# 程序员?
当您可以创建类并做一些简单的事情(GUI、阅读文本文件等)时,我该从哪里开始?我已经开始阅读 Code Complete 2nd Edition,它很棒,但更像是一本通用的编程书籍。接下来我应该学习哪些主题?
delphi - 对于在同一类中设置全局变量的例程,什么是好的命名约定
Code Complete(第 7 章第 3 节)说,一个好的函数应该根据它返回的值来命名,而一个类中的一个好的过程名称应该根据它所做的来命名。
当我在 Delphi 中(2009 年之前)编写同步方法时,有时需要使用它们来设置全局变量,这似乎是一种不好的编程习惯,但由于我无法传递变量,因此这是必要的。我不想称它们为“Get”或“Set”,因为我将它们用于我的属性方法。
有人对这些有更好的命名约定吗?
php - 编码风格:函数和程序编码标准
Code Complete 2 的第 7.6 章让我很困惑,我附上了一些示例代码(在 php 中),告诉我哪种风格最好?或建议更好的东西?谢谢
样式 1
风格 2
风格 3
我目前正在使用样式 1。虽然我不太确定它是否正确。
class-design - 要避免的类(代码完成)
我对代码完整书中的一段感到有些困惑。
在“要避免的类”部分中,它写道:
“避免以动词命名的类只有行为但没有数据的类通常不是真正的类。考虑将像 DatabaseInitialization() 或 StringBuilder() 这样的类变成其他类的例程”
我的代码主要由没有数据的动词类组成。有 invoicereaders、pricecalculators、messagebuilders 等。我这样做是为了将课程集中到每个任务上。然后我将依赖项添加到其他类以获得其他功能。
如果我正确理解该段落,我应该使用类似的代码
而不是
编辑 感谢所有回复。
我的结论是,我当前的代码比 OO 更具 SRP,但它也受到“贫血域模型”的影响。
我相信这些见解将来会对我有所帮助。
c++ - 代码完成 2ed、组合和委托
在这个论坛上阅读了几周后,我认为是时候做我的第一篇文章了。
我目前正在重读 Code Complete。我想距离上次已经 15 年了,我发现我仍然不会写代码 ;-)
无论如何,在 Code Complete 的第 138 页上,您会发现这个编码恐怖示例。(我已经删除了一些代码)
史蒂夫认为不好的是这些功能之间的关系松散。或者他是否写过“员工和检查邮政编码、电话号码或工作分类的例程之间没有逻辑联系”
好的,我完全同意他的看法。也许像下面的例子更好。
在检查 zip 是否有效时,您需要执行类似的操作。
而那对于得墨忒耳法则来说是不好的。
因此,如果您想删除三个点中的两个,则需要使用委托和几个像这样的包装函数。
但是话又说回来,您的例程没有逻辑联系。
我个人认为这篇文章中的所有三个例子都很糟糕。这是我没有想到的其他方式吗?
php - 标准函数的 NetBeans PHP 代码完成
我已经开始使用 NetBeans 6.9.1 来开发 PHP 项目。虽然它确实在一定程度上提供了代码补全,但它绝不是完整的。例如,常用的函数如 implode、explode 不在代码补全列表中。此外,对由内置类(例如 HttpRequest)生成的对象进行代码补全会很方便。
无论如何要获得上述项目的代码完成。
iphone - XCode 4 对 .h 文件中方法的代码补全
在 Xcode 3 中,我可以先将我的方法写在实现(.m)文件中;之后将相同的方法添加到接口(.h)文件中。那时,Xcode 3 对.m文件中编写的方法进行了代码补全。可悲的是,Xcode 4 没有像 Xcode 3 那样对我的方法进行编码。有没有其他人遇到过这种情况,这种情况有选择吗?
一个例子:
实现 .m 文件可能如下所示:
接口 .h 文件可能如下所示:
c++ - 来自 Code Complete 关于封装的 C++ 建议?
在 Code Complete 的“良好封装”部分,建议隐藏私有实现细节。C++ 中给出了一个示例。这个想法基本上是将接口与实现完全分离,即使在类级别也是如此。
这真的是一种很好的时间利用方式吗?这不仅看起来效率低下(这会带来什么样的性能损失?),而且代码完整(“管理复杂性”)的整个座右铭似乎已经被颠倒了——这不会增加复杂性吗?
c - 相关变量和操作的分组?
在 Code Complete 第 10 章中,建议对相关语句进行分组,并给出以下示例:
据说这样的分组和并发处理是不好的设计,而是给出了更分离的东西:
我确实同意第二种方法更容易阅读和理解,并且提供看起来更清晰的代码,至少从我自己的角度来看是这样。所以,我的问题是,第二种方法有什么缺点吗?例如,我能想到的一个可能的问题是与数据库的临时连接等:
第一种方法将在一个打开/关闭周期中完成两个保存操作。但是,使用第二种方法...
您必须为每个操作打开和关闭连接。这似乎很浪费,但我不知道它如何影响实践中的性能。
对不起,不必要的长问题...
eclipse - 简单的 Eclipse 代码模板 - 问题
嗨,我在 Eclipse 中启用了代码模板。
我刚刚安装了 Eclipse for Java 并启用了代码模板(来自代码辅助设置)。我输入了“sysout”Ctrl+Space,但没有输入 System.out.println。
另外,代码完成选项中的自动插入到底是什么意思?
谢谢。