问题列表 - 第27185页

在构造函数中立即采取行动有什么不对吗?

我有这样的课程:

class SomeObject
{
    public function __construct($param1, $param2)
    {
       $this->process($param1, $param2);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

所以我可以立即"称呼"它作为某种全局函数

new SomeObject($arg1, $arg2);
Run Code Online (Sandbox Code Playgroud)

这有什么好处

  • 保持简洁,
  • 容易理解,

但是可能会因为不等到方法被调用而破坏了不成文的语义规则.

我是不是应该因为不好的练习而感到不舒服,或者真的没什么值得担心的?

澄清:

  • 我确实想要一个类的实例.
  • 我只使用该类的内部方法.
  • 我在构造函数中初始化对象,但也调用"重要的"动作接受者方法.
  • 鉴于这些句子,我很自私.

例:

为了让您了解我通常如何使用此方法:

new Email('to@example.com', 'Subject line', 'Body Text');
Run Code Online (Sandbox Code Playgroud)

当然,我避免过度使用它,但在我看来,这非常方便.

language-agnostic oop constructor

15
推荐指数
2
解决办法
267
查看次数

Shell - 如何查找某些命令的目录?

我知道当你在shell上时,唯一可以使用的命令是可以在PATH上设置的某些目录中找到的命令.即使我不知道如何查看我的PATH变量上的dirs(这是另一个可以回答的好问题),我想知道的是:

我来讨论并写道:

$ lshw
Run Code Online (Sandbox Code Playgroud)

我想知道shell上的命令可以告诉我这个命令的位置.换句话说,这个"可执行文件"位于何处?

就像是:

$ location lshw
/usr/bin
Run Code Online (Sandbox Code Playgroud)

任何人?

linux shell command-line

118
推荐指数
4
解决办法
9万
查看次数

注释:方法与变量

我总是确定(不知道为什么)最好在变量中添加注释,但在浏览Hibernate文档时http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity -hibspec-collection我注意到他们倾向于注释方法.所以我应该在方法之前添加注释,如下所示:

@Entity
public class Flight implements Serializable {
private long id;

@Id @GeneratedValue
public long getId() { return id; }

public void setId(long id) { this.id = id; }
}  
Run Code Online (Sandbox Code Playgroud)

或者这样做更好:

@Entity
public class Flight implements Serializable {
@Id @GeneratedValue
private long id;

public long getId() { return id; }

public void setId(long id) { this.id = id; }
}  
Run Code Online (Sandbox Code Playgroud)

或者也许没有区别?

java hibernate jpa java-ee

6
推荐指数
1
解决办法
3015
查看次数

如何在 Python 中解析模板化字符串?

我是 Python 新手,所以我不确定这个操作到底叫什么,因此我很难在其中搜索信息。

基本上我想要一个字符串,例如:

"[[size]] widget that [[verb]] [[noun]]"
Run Code Online (Sandbox Code Playgroud)

其中大小、动词和名词都是一个列表。

我想将字符串解释为元语言,这样我就可以从列表中排列出很多句子。作为一种元语言,我还可以制作其他字符串,使用这些预定义的列表来生成更多排列。

在 Python 中是否有像这样的变量替换功能?如果我应该谷歌它,什么术语描述了这个操作?

python

3
推荐指数
1
解决办法
4294
查看次数

SQLite触发器更新摘要计数

考虑以下两个(假设的)表

温度

* day
* time
* lake_name
* station
* temperature_f
Run Code Online (Sandbox Code Playgroud)

Temperature_summary

* day
* lake_name
* station
* count_readings_over_75f
* count_readings_below_75f
Run Code Online (Sandbox Code Playgroud)

如何编写SQLite Trigger来更新insert上的temperature_summary表.我想增加点数.

谢谢,杰夫

sqlite

3
推荐指数
1
解决办法
3861
查看次数

Spring Security 3.0拦截 - url命令

参考文档说url按照与声明的顺序匹配,但最后声明的一个匹配在之前声明的一些之前.

这里是我的报关表:

<intercept-url pattern="/static/**" filters="none" />   
<intercept-url pattern="/login.jsp*" filters="none" />
<intercept-url pattern="/logout.jsp*" filters="none" />
<intercept-url pattern="/forgotpassword*" filters="none" />
<intercept-url pattern="/WEB-INF/jsp/forgotpassword*" filters="none" />     
<intercept-url pattern="**/ordersearch*" access="hasRole('ROLE_VIEW_ORDER_STATUS')" />
<intercept-url pattern="**/creditstatus*" access="hasRole('ROLE_VIEW_CREDIT_STATUS')" />
<intercept-url pattern="**/shop*" access="hasRole('ROLE_INTERNAL') and hasRole('ROLE_CREATE_SALES_ORDER')" />
<intercept-url pattern="/**" access="hasAnyRole('ROLE_INTERNAL','ROLE_EXTERNAL')" />
Run Code Online (Sandbox Code Playgroud)

它尝试按顺序匹配所有filters="none",但随后跳转到最后一个模式/**.所以URL就像/appname/ordersearch被截取/**而不是**/ordersearch*.知道我做错了什么吗?

spring-security

5
推荐指数
1
解决办法
4994
查看次数

导入java.nio.file时出现问题

为什么这条线不起作用?

import static java.nio.file.AccessMode.*;
Run Code Online (Sandbox Code Playgroud)

Eclipse说:

The import java.nio.file cannot be resolved
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是整个计划:

import static java.nio.file.AccessMode.*;

public class CheckFileAccessibility {
 public static void main(String[] args) {

 }
}
Run Code Online (Sandbox Code Playgroud)

我在这里关注官方Java教程:http://java.sun.com/docs/books/tutorial/essential/io/check.html

java

3
推荐指数
1
解决办法
4534
查看次数

运行单个测试方法

使用OCUnit和Xcode,有没有办法只运行一个测试?

理想情况下,我只能运行一种测试方法,但如果有办法只运行一个测试用例,那也没关系.

我目前正在做的是运行"测试"任务,该任务运行我的所有测试,但这需要花费大量时间,理想情况下可以花在做其他事情上.

xcode cocoa objective-c ocunit

5
推荐指数
1
解决办法
971
查看次数

在身体上设置的CSS3渐变背景不会拉伸,而是重复?

好吧说内容<body>总计300px高.

如果我设置我的<body>使用-webkit-gradient或背景-moz-linear-gradient

然后我最大化我的窗口(或者只是让它高于300px)渐变将正好是300px高(内容的高度),并重复填充窗口的其余部分.

我假设这不是一个bug,因为它在webkit和gecko中是相同的.

但有没有办法让渐变拉伸填充窗口而不是重复?

css gradient css3

410
推荐指数
7
解决办法
30万
查看次数

Git如何节省空间并且同时快速?

我刚刚在http://blip.tv/play/Aeu2CAI上看到了第一个Git教程.

Git如何存储所有文件的所有版本,以及它如何在空间上比Subversion更经济,而Subversion只保存最新版本的代码?

我知道这可以使用压缩来完成,但这会以速度为代价,但这也说Git要快得多(尽管它获得最大值的是它的大部分操作都处于脱机状态).

所以,我猜是这样的

  • Git广泛压缩数据
  • 它仍然更快,因为uncompression + work仍然比network_fetch + work

我对么?甚至接近?

compression git version-control performance github

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