coding-style相关内容
我对 C 编程并不陌生.但我不明白将指针保留为 C 中的结构成员有什么用处.例如 //第一招:在struct中保留指向函数的指针结构新类型{一个;字符 c;int (*f)(struct newtype*);无功;int fun(struct newtype* v){返回 v->a;}//第二种方式:简单结构 newtype2{一个;字符 c;变量 2;int fun2(struct newty
..
我已经看到以下两种在 C API 中声明不透明类型的风格.在 C 中声明不透明结构/指针的各种方法是什么?使用一种风格比使用另一种风格有什么明显的优势吗? 选项 1 //foo.htypedef struct foo * fooRef;void doStuff(fooRef f);//foo.c结构 foo {整数 x;输入 y;}; 选项 2 //foo.htypedef 结构 _f
..
NetBeans 7.4 beta 目前可供公众下载,它默认引入了一个奇怪的警告规则: 方法长度为 16 行(允许 10 行) 我的问题是:这是公认的代码约定规则,可以在某处以某种方式证明吗?NetBeans 支持/开发人员说这不是错误,但没有说明为什么他们只允许 10 行,以及这条规则的确切起源. 解决方案 您可以在 NetBeans 选项中更改最大方法/函数长度警告行为(它
..
说到 java 类中的 order/sequence 方法.您希望/更喜欢在哪里看到 main() 方法? 在每个字段之前的顶部(强调用户它的存在和强制他使用它) 在底部(让用户先看到字段,然后再发现主要) 在 c-tor 之后 或... . 请分享您的想法,这是一个文体/哲学问题.请不要建议将 main() 单独保存在单独的文件中. 解决方案 这些只是我的想法:
..
我一直在与我的同事讨论是在重写的方法前添加 virtual 关键字,还是只在原始基类中添加前缀. 我倾向于在所有虚方法(即涉及虚表查找的方法)前加上 virtual 关键字.我的理由有三个: 鉴于 C++ 缺少覆盖关键字,虚拟的存在关键字至少会通知您该方法涉及查找和理论上可以被覆盖进一步的专业化,或者可能是通过指向更高的指针调用基类. 一直使用这种风格意味着,当你看到一个方法(至
..
Python 之禅(The Zen of Python)指出,做事应该只有一种方法——但我经常遇到决定何时使用函数与何时使用方法的问题. 让我们举一个简单的例子 - ChessBoard 对象.假设我们需要某种方法来让所有合法的国王移动都出现在棋盘上.我们是写 ChessBoard.get_king_moves() 还是 get_king_moves(chess_board)? 以下是
..
我想在产品的股票选项下拉列表中添加一个新选项.默认情况下,有“缺货",“有货",我想添加第三个选项. 我找到了显示下拉菜单的方法(在 class-wc-meta-box-product-data.php 中) //库存状态woocommerce_wp_select( array( 'id' => '_stock_status', 'wrapper_class' => 'hide_if_va
..
在两者都可用的语言中,您更愿意看到实例构造函数还是返回实例的静态方法? 例如,如果您要从 char[] 创建一个 String: String.FromCharacters(chars); new String(chars); 解决方案 在 Effective Java, 2nd edition,Joshua Bloch 当然推荐前者.有几个原因我能记住,当然有些我不能:
..
我最近了解到 OOP 中的 switch 语句很糟糕,特别是从 Robert Martin 的“清洁代码"(p37-39) 中. 但是考虑一下这个场景:我正在编写一个游戏服务器,接收来自客户端的消息,其中包含一个表示玩家动作的整数,例如移动、攻击、拾取物品...等,将有 30 多个不同的行动.当我编写代码来处理这些消息时,无论我想什么解决方案,它都必须在某处使用 switch.如果不是 sw
..
我在理解 MVC 中的视图概念时似乎有问题,根据我所读的内容,它们是管理应用程序中的表示的层,但我阅读的许多材料似乎都是与 PHP Master.com 关于此事的不同. View 是一个具有返回一些 HTML 代码的函数的类,我的 HTML 的其余部分在哪里?它应该放在访问此视图代码的独立 .html 页面中吗? 本文来自php-html.net 视图是一个带有 .php 扩展名的简
..
我正在开发 iPad 应用程序,并且正在使用 UIPopoverControllers.我正处于需要对应用程序进行品牌化和样式化的部分,我想知道如何更改 UIPopoverController 的颜色/色调?标准是深蓝色,但需要另一种颜色.. 这可能吗? 问候,托马斯 解决方案 从 iOS 5.0 开始,通过继承抽象类 UIPopoverBackgroundView 和将您的子
..
我在 SO 上看到了一些关于这个习语的提及(包括在 SO): //故意清空订阅者公共事件 EventHandler AskQuestion = 委托 {}; 好处很明显 - 它避免了在引发事件之前检查 null 的需要. 但是,我很想知道是否有任何缺点.例如,它是否被广泛使用并且足够透明,不会引起维护问题?空事件订阅者调用是否有任何明显的性能影响? 解决方案 唯一的缺点是非常轻微
..
我正在使用 XSLT 样式表从 XML 文件创建 Excel 文档.我要引入的值之一我想显示为大写.这怎么可能? 解决方案 XSLT 2.0 具有 fn:upper-case() 和 fn:lower-case() 函数.但是,如果您使用的是 XSLT 1.0,则可以使用 translate():
..
阅读后“你对圈复杂度的/一个好的限制是什么?",我意识到我的许多同事对这个新的 QA 项目的政策:不再有 10 每个函数的圈复杂度. 含义:不超过10个'if'、'else'、'try'、'catch'等代码工作流分支语句.对.正如我在“您是否测试私有方法?"中所述,这样的政策有很多好的副作用. 但是:在我们(200 人 - 7 年)项目开始时,我们很高兴地进行日志记录(不,我们不能轻
..
有时在寻找方便的事件来挂钩时,我会进行一些探索性编程... 用这个额外的行修改Mage::dispatchEvent: Mage::log($name.'('.implode(',', array_keys($data)).')'); 标记一个起点,我知道我很快就赶不上: Mage::log(__METHOD__.'::START'); 标记一个我以后不想再捕捉的终点: Mage:
..
我想动态更改按钮的样式,即在 Java 代码中,例如: ((Button)findViewById(id)).setStyle("@styles/foo")true100px
..
几周前我尝试了 Intellij,我发现它真的很棒.现在,在我的项目中,有两个程序员(包括我)使用 Intellij,而其他几个程序员将继续使用 Eclipse.由于这个项目已经非常大,而且还会增长很多,我们需要在 Intellij 和 Eclipse 之间使用兼容的 Code Style 和 Code Formatting.当一个用户编辑某个文件并在保存之前重新格式化时,我们不希望出现问题.
..
我发现这段代码在互联网上被截断了: 数字 0 = [0]数字 n = 数字' n []其中数字 0 ds = ds数字' n ds = let (q,r) = quotRem n 10以数字表示的 q (r:ds)sumOfDigits = sum .数字 有人能快速解释一下递归函数调用后的“'"符号( digits n = digits' n [] )是干什么用的?我在 Haskell(教程
..
我一直在阅读Real World Haskell,并且接近尾声,但是风格问题一直困扰着我与(.) 和($) 运算符. 当你编写一个由其他函数组成的函数时,你可以这样写: f = g .H 但是当你在这些函数的末尾应用一些东西时,我是这样写的: k = a $ b $ c $ 值 但是这本书会这样写: k = a .乙.c$值 现在,在我看来,它们在功能上是等效的,它们在我眼中的作
..
在处理业务类时,如典型的 Customer 和 Employee 类,是只使用 getter 和 setter 还是使用属性更好? 我正在将 Java 书籍中的一些 OO 示例翻译到 Delphi(用于自学),在这些示例中,始终有 GetName() 和 SetName(),未使用属性. 现在,我可以看到,如果我创建一个具有已发布属性的组件,我有充分的理由使用属性,但是在普通类中,哪种
..