小编Ben*_*Ben的帖子

最佳实践:如果是逻辑控制

关于编码标准,速度和效率,对于这种情况,以下哪一项是更好的编程实践?

function foo() {
  if(bar)   { return 0; }
  if(baz)   { return 0; }
  if(qux)   { return 0; }
}
Run Code Online (Sandbox Code Playgroud)

要么

function foo() {
  if(bar || baz || qux) { return 0; }
}
Run Code Online (Sandbox Code Playgroud)

我倾向于第一个,因为只需要评估一个条件因此会更快,但是多个returns不好......?

//编辑

我要应用的语言主要是PHP和Javascript,可能是C++和Ruby.

if-statement coding-style

2
推荐指数
1
解决办法
1924
查看次数

PHP CSS - 加载外部文件或echo到头部的更快/更好的做法?

我想知道它是否更好

A)使用<link>或包含外部CSS文件

B)回声/刷新/打印CSS直接进入<head>.

就个人而言,我喜欢选项B,因为它允许

  • 删除评论/缩小
  • 使用位于根目录上方的css
  • 压缩多个css文件=减少HTTP请求

在我付诸实践之前,我应该(不是)有一个重要原因吗?

css php optimization inline head

2
推荐指数
1
解决办法
876
查看次数

HTML复选框CSS:光标默认值还是指针?

HTML复选框上的光标是否有明确的标准?

默认,指针或(颤抖)文本?

html css

2
推荐指数
1
解决办法
4589
查看次数

Java-可重用按钮动作处理程序概念问题

首先-很抱歉,没有代码太可怕,只是我要解释的框架。它运行没有错误。

目标

我正在为GUI创建可重用的按钮类,并且每个按钮对象在单击时都需要具有不同的处理程序。我想为ClickHandler每个新按钮分配一个对象。然后,该按钮将调用init()处理程序,并继续执行。不幸的是,这存在输入问题,因为每个处理程序类都有不同的名称。

目前的进展

现在,该处理程序的类型为HandlerA,但我希望它处理任何名称,例如“ SettingsHandler”或“ GoToTheWahWah”等。

我尝试过弄乱泛型,但是由于我是新手,从Webdev的背景开始,我似乎一直在克服概念上的障碍。这是解决问题的正确方法吗?

代码

ReuseableButton.java 是可重用的类,唯一改变的是单击时的操作:

package gui;

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class ReuseableButton extends JButton implements ActionListener {
  private static final long serialVersionUID = 1L;

  // I want a generic type here, not just HandlerA!
  private HandlerA ClickHandler;

  // Assemble generic button
  public ReuseableButton(Container c, String s) {
    super(s);
    addActionListener(this);
    c.add(this);
  }

  // Once again, generic type, not just HandlerA!
  public void SetClickHandler(HandlerA ch) { …
Run Code Online (Sandbox Code Playgroud)

java swing jcomponent extend jbutton

2
推荐指数
1
解决办法
1960
查看次数

Java JComponent - 从左下角开始绘画?

我正在覆盖paintComponentJComponent中背景的方法,一切顺利.

但是,我想从左下角而不是左上角开始绘画.

我需要改造什么,或者什么?

java graphics paint jcomponent coordinate-systems

2
推荐指数
1
解决办法
1523
查看次数

Yii如何突出显示当前菜单项

我使用以下代码显示菜单项.

默认情况下,应激活"主页"链接.所以我使用了代码

active' => $this->id =='default' ? true : false

$this->widget('zii.widgets.CMenu',array(
     'linkLabelWrapper' => 'span',
    'items'=>array(
    array('label'=>'Home', 'url'=>array('post/index'),'active'=>$this->id=='default'?true:false),
    array('label'=>'About', 'url'=>array('site/page', 'view'=>'about'),'active'=>$this->id=='about'?true:false),
    array('label'=>'Test', 'url'=>array('site/page', 'view'=>'test')),
    array('label'=>'Contact', 'url'=>array('site/contact')),
    array('label'=>'Login', 'url'=>array('site/login'), 'visible'=>Yii::app()->user->isGuest),
    array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('site/logout'), 'visible'=>!Yii::app()->user->isGuest)
    ),
    )); 
Run Code Online (Sandbox Code Playgroud)

我提到了网址http://www.yiiframework.com/doc/api/1.1/CMenu#activateItems-detail 但我不知道如何使用这些参数.请帮忙

php frameworks yii

2
推荐指数
1
解决办法
1万
查看次数

将库dll添加到引用后,类库Intellisense未显示

在C#中,我创建了一个ClassLibrary,它有一个Namespace和一个Class.我保存并构建它.在其他项目中,当我使用它时,我通过浏览到.dll位置将其添加到我的引用中.

但问题是它的名字没有出现在Intellisense中.即当我:using ...我的DLL没有显示..我正在将库导入ConsoleApp.App和库目标框架都是.NET Framework 4.0,我制作了它们的Assembly 4.0.0.0,所以它们完全相同.

有什么设置或我缺少的东西?怎么能让它弹出来?

我正在使用VS2010 Professional

谢谢您的帮助

c# intellisense class-library

2
推荐指数
1
解决办法
1万
查看次数

使用MinGW和CodeBlocks安装Boost库

我正在第一时间使用Boost库,我选择了一个名叫Regex的漂亮女孩.

我已经在我的机器上安装了库(自动构建?),但是我收到了上面的错误(找不到-lboost_regex).我正在使用Code :: Blocks with MinGW和C++ 0X编译器标志.

我有

  • 将"搜索目录"指向安装目录
  • -lboost_regex向链接器添加了标志

但没有运气.有人可以帮我搞定吗?


更新

现在好起来了.对于这个问题的新手,我在下面的答案中添加了一些进一步的注释.

(另外,改变了问题的标题,因为它比我刚开始时更广泛.)

c++ regex boost mingw

2
推荐指数
1
解决办法
3170
查看次数

有人能告诉我这是告诉我的吗?

设计一种线性算法,该算法在所有这些子序列中具有最高总和的N个长整数序列中找到最多M个的连续子序列.实现您的算法,并确认其运行时间的增长顺序是线性的.

我已经阅读了几次,但我很难理解它想要我做什么.

java algorithm

2
推荐指数
1
解决办法
169
查看次数

在ec2 ubuntu实例上自动执行Git pull过程

我正在运行几个ubuntu ec2实例,我想运行一个自动化脚本,只要从AMI启动一个新实例,它就会从Github中提取代码.目前我正在ssh访问服务器并运行命令git pull origin master,它将要求输入密码密钥.

如何自动执行此过程?因此,从AMI启动新实例后,此脚本应该:

  • 拉代码和子模块
  • 创建几个文件并进行配置

请帮助我实现它.

谢谢

amazon-ec2 amazon-web-services ubuntu-12.04

2
推荐指数
1
解决办法
3635
查看次数