标签: code-reuse

有没有办法让CASE WHEN测试其中一个结果而不是运行两次?

有没有办法使用CASE WHEN测试中的值作为其结果之一,而无需写出两次select语句(因为它可能很长而且很乱)?例如:

 SELECT id,
     CASE WHEN (
         (SELECT MAX(value) FROM my_table WHERE other_value = 1) IS NOT NULL
     )
     THEN (
         SELECT (MAX(value) FROM my_table WHERE other_value = 1
     ) 
     ELSE 0
 END AS max_value
     FROM other_table
Run Code Online (Sandbox Code Playgroud)

有没有办法可以使用SELECT语句的第一次运行结果(对于测试)作为THEN值?我尝试在第一个SELECT之后使用"AS max_value",但它给了我一个SQL错误.

更新:哎呀,正如Tom H.指出的那样,我在原来的问题中忘记了"IS NOT NULL".

mysql sql code-reuse

0
推荐指数
1
解决办法
88
查看次数

如何尝试不提供模板的可重用django应用程序?

许多可重用的django应用程序不包含内部的默认模板.James Bennett在他的演示文稿中说,提供真正可移植的默认模板的Reusable Apps非常难.他补充说,他的registration应用程序的第一个版本中的大多数错误报告都与默认模板有关.

这是一个有效的观点.但是没有任何默认模板,很难理解应用程序如何被重用,因为程序员无法看到可重用的应用程序.

你有什么建议来克服这个问题?

django documentation code-reuse django-templates

0
推荐指数
1
解决办法
227
查看次数

使用引号拆分字符串,重用将参数解析为main的方法

在我写的小程序中,我必须解析一行用户输入.基本上需要做的是将行拆分为一个字符串数组,就像使用main()的参数一样,即我正在寻找这样的东西:

String[] splitArgs(String cmdLine);
Run Code Online (Sandbox Code Playgroud)

我只是想知道,如果主要方法的参数在调用main本身之前以这种方式解析,是不是可以调用那个而不是编写自己的?那么,有谁知道在哪里找到这种方法?

谢谢,阿克塞尔

java string code-reuse parsing

0
推荐指数
1
解决办法
3128
查看次数

内部方法代码重用

假设您有两个完全独立的项目:项目1和项目2.一个是Windows应用程序,一个是Web应用程序.

如果两个项目都需要A,B和C类用于内部使用,那么在两个项目之间的类中推广代码重用的最佳方法是什么(特别是代码随着时间的推移而更新)?

  • 强制这些类是公共的,打破整洁的公共接口,并从一个项目到另一个项目进行引用(哎呀!)
  • 为共享组件创建第三个项目,然后仅在内部为主项目使用它们(哎呀!)
  • 将项目1中的类"添加"到项目2(在项目文件夹之外)并接受项目2将不具有在其项目文件夹中构建所需的所有类(可接受但不理想)
  • 依赖于复制和粘贴,源代码控制交叉引用或其他一些非编程特技.
  • 其他一些技术目前正在躲避我(手指交叉......)

请注意,这些是两个项目所必需的相同的INTERNAL辅助类.

c# code-reuse internal

0
推荐指数
1
解决办法
930
查看次数

导出重载运算符,但仅在相同类型上运行

假设我有一个基类和两个派生自它的类:

class Base
{
protected:
    double value;
public:
    virtual ~Base();

    Base(double value) : value(value) {}
    Base(const Base& B) { value=B.value; }

    Base operator+ (const Base& B) const { 
        return Base(value+B.value); 
    }

};

class final Derived1 : public Base {
public:
    Derived1(double value) : Base(value) {}
};

class final Derived2 : public Base {
public:
    Derived2(double value) : Base(value) {}
};
Run Code Online (Sandbox Code Playgroud)

我想完成以下任务:

int main(int argc, char *argv[])
{
    Derived1 a = Derived1(4.0);
    Derived2 b = Derived2(3.0);

    a+a; // this should return …
Run Code Online (Sandbox Code Playgroud)

c++ oop code-reuse class operator-overloading

0
推荐指数
1
解决办法
85
查看次数

继承PHP PDO类是一种好习惯

我有一个项目愿意创建这样的结构文件:

js
css
images
core
--- dblayer.class.php
--- user.class.php
--- comments.class.php
--- etc.class.php
index.php
users.php 
Run Code Online (Sandbox Code Playgroud)

DBLayer类继承自PDO这样的:

class DBLayer extends PDO
{
    public function __construct()
    {
        $options = array(
            PDO::ATTR_PERSISTENT => true,
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        );

        $dsn = DB_DRIVER . ":host=" . DB_HOST . ";dbname=" . DB_NAME;
        parent::__construct($dsn, DB_USER, DB_PASSWORD, $options);
    }

    public function getLastId()
    {
    }

    public function getLastError()
    {
    }

    // Other general methods used frequently by other classes
}
Run Code Online (Sandbox Code Playgroud)

其他类将继承自DBLayer类:

class User …
Run Code Online (Sandbox Code Playgroud)

php inheritance code-reuse pdo code-readability

0
推荐指数
1
解决办法
624
查看次数

在多个项目中重用Haskell代码

我写的一些模块经常要复制到其他项目中以重用代码.但是,如果我只是复制模块,那么如果我想要改进它们,我将不得不更新各种git存储库中用于使用它们的项目的所有副本.

好像我应该创建某种类型的库.如何设置我的项目,以便我只需要更新一次这些模块,并且所有依赖它们的存储库都可以访问最新版本?

git code-reuse haskell

0
推荐指数
1
解决办法
163
查看次数

如何更改java代码,以便它的子类定制,影响最小

我的代码有以下情况.

class A{

    public void putLogicHere(){

        //method is about 500 lines long.

        //Initial Few lines of code will be common 

        //middle part of code will be customized by its subclasses

        //Again here comes few lines of common code

    }
}

class B extends A{}
class C extends A{}
Run Code Online (Sandbox Code Playgroud)

在设计层面,我应该采取什么方法来进一步打破这个代码?考虑到方法的中间部分将由层次结构中的其他人自定义.

java code-reuse refactoring design-patterns

0
推荐指数
1
解决办法
33
查看次数

如何在cakePHP中编写可重用的代码?

任何人都可以提供一些在PHP/CakePHP中编写可重用代码的技巧吗?

php code-reuse cakephp

-1
推荐指数
1
解决办法
1617
查看次数