功能规范是否有助于或阻碍您的期望?执行瀑布式方法的程序员是否对功能规范持开放态度?我是一个网络设计师/开发人员,与一个由5名程序员组成的团队合作,并希望编写一个功能规范来解释我们需要什么,这样当我开始工作时 - 我知道我们正朝着同一个目标努力.
project-planning project-management functional-programming specifications
SQL Server中的T-SQL查询是否支持短路?
例如,我有一种情况,我有两个数据库,我正在比较两个表之间的数据,以匹配和复制一些信息.在一个表中,"ID"字段将始终具有前导零(例如"000000001234"),而在另一个表中,ID字段可以具有或不具有前导零(可以是"000000001234"或"1234").
所以我的匹配两者的查询是这样的:select*from table1 where table1.ID LIKE'%1234'
为了加快速度,我想在之前添加一个OR,它只是说:table1.ID = table2.ID来处理这两个ID都有填充零并且相等的情况.
这样做会通过匹配"="上的项目来加速查询,而不是为每一行评估LIKE(它会短路并跳过LIKE)吗?
我不想讨论这种方法的优点,只要有可能.我相信答案是"不".但也许有人会让我感到惊讶!
想象一下,你有一个核心小部件类.它有一个calculateHeight()返回高度的方法.高度太大 - 这导致按钮(比如说)太大了.您可以扩展DefaultWidget以创建自己的NiceWidget,并实现自己calculateHeight()的返回更好的大小.
现在,一个库类WindowDisplayFactory,在一个相当复杂的方法中实例化DefaultWidget.您希望它使用您的NiceWidget.工厂类的方法看起来像这样:
public IWidget createView(Component parent) {
DefaultWidget widget = new DefaultWidget(CONSTS.BLUE, CONSTS.SIZE_STUPIDLY);
// bunch of ifs ...
SomeOtherWidget bla = new SomeOtherWidget(widget);
SomeResultWidget result = new SomeResultWidget(parent);
SomeListener listener = new SomeListener(parent, widget, flags);
// more widget creation and voodoo here
return result;
}
Run Code Online (Sandbox Code Playgroud)
这就是交易.结果使DefaultWidget深入其他对象的层次结构中.问题 - 如何让这个工厂方法使用我自己的NiceWidget?或者至少calculateHeight()在那里自己动手.理想情况下,我希望能够修补DefaultWidget,以便其calculateHeight做正确的事情......
public class MyWindowDisplayFactory {
public IWidget createView(Component parent) {
DefaultWidget.class.setMethod("calculateHeight", myCalculateHeight);
return super.createView(parent);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在Python,Ruby等方面可以做的事情setMethod().虽然我已经发明了这个名字.对我开放的其他选择是:
createView()方法的代码复制并粘贴到我自己的继承工厂类的类中工厂类无法更改 …
我喜欢sql server中隐藏功能的答案和问题
您能告诉我们有关Oracle的信息吗?
隐藏的表,...的内部工作,秘密存储过程,具有良好工具的包...
继Alan Green的" 没有经理命名Java课程 "之后,我开始在我自己的代码中搜索*Manager类.
你会如何重命名以下课程?也许是ServiceLoader?但它不会从任何地方"加载"任何东西.
class ServiceManager
{
public bool IsRunning { get; };
public void Start();
public void Restart();
public void Stop();
}
Run Code Online (Sandbox Code Playgroud)
另外,请分享您自己重命名的Manager类的示例.
谢谢
我可能应该更多地描述一下班级的作用.该类启动/停止.NET Remoting服务.
Start()方法注册通道(端口)和服务的接口.
诚然,我不明白.假设您的内存中包含长度为1个字节的内存字.为什么不能在未对齐地址的单个内存访问中访问一个4字节长的变量(即不能被4整除),因为对齐地址就是这种情况?
我只是浏览一个论坛,有人问他们在网上找到的PHP文件.它在代码中有几个像这样的地方:
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);
如果条件为真,我一直认为需要括号来包含你想要做的事情.还有其他一些选择,例如,如果它在同一条线上你没有吗?
还有另一条这样的线:
if ($action != ""):
mail("$adminaddress","Visitor Comment from YOUR SITE",
我的直觉是说这不起作用,但我也不知道它是否是一个过时的PHP文件,它曾经工作?
由于PHP是一种动态语言,检查提供的字段是否为空的最佳方法是什么?
我想确保:
这是我到目前为止所得到的:
$question = trim($_POST['question']);
if ("" === "$question") {
// Handle error here
}
Run Code Online (Sandbox Code Playgroud)
必须有一种更简单的方法吗?
定期(在自动保存期间)和收盘时我得到:
保存工作空间问题
(X) Problems occurred while trying to save the state of the workbench.
Details >>
Could not write metadata for '/projectname'.
encoded string too long: 123456 bytes
Run Code Online (Sandbox Code Playgroud)
使用通常的方法无法找到原因或解决方案.任何想法如何解决?这是使用eclipse 3.4(木卫三)
php ×2
alignment ×1
brackets ×1
c ×1
conditional ×1
eclipse ×1
java ×1
memory ×1
naming ×1
oracle ×1
reflection ×1
sql ×1
sql-server ×1
validation ×1
xml ×1