我们说这里有三种方法:
方法1:
SELECT * FROM job, location
WHERE location.region = 'Central Coast'
OR location.region = 'Hunter Valley'
OR location.region = 'Illawarra'
AND job.location_id = location.id
因为我可能必须更换多个参数,所以该行非常长,为了使函数更具可读性,我使用方法2:
方法2:
void function_1() {
QString("%1").arg(QDate::currentDate().toString("MM/dd/yy"));
}
void function_2() {
QString("%1").arg(QDate::currentDate().toString("MM/dd/yy"));
}
但是我注意到在我的许多函数中需要使用void function_1() {
QString currentDate = QDate::currentDate().toString("MM/dd/yy");
QString("%1").arg(currentDate);
}
void function_2() {
QString currentDate = QDate::currentDate().toString("MM/dd/yy");
QString("%1").arg(currentDate);
}
,即使有人说QString currentDate
,如果我这样做,这意味着我必须在每个函数中编写相同的代码。因此,我应该使用方法3来设置Variables should be declared as locally as possible
中的QString currentDate
。
方法3:
class private
答案 0 :(得分:1)
人们说正确的变量应尽可能在本地声明,因为这可以消除未来不同变量之间的潜在冲突(这成为一个问题,尤其是在拥有数千行代码的大型项目中)。
我会在QString currentDate
之外定义function
,然后将其作为参数提供给function_1()
和function_2()
,因为这会删除重复的代码。< / p>
答案 1 :(得分:1)
如果require_once
将在构造函数中计算一次,那么该值将在变量的生命周期内保持不变。
在这种情况下,如果变量不会在几天内生存,那么没问题。
但是如果它(例如23:59:59 - > 00:00:00)那么正确的方法是声明一个函数:
currentDate
考虑将此函数设置为静态,因为它不会调用类中的任何函数和变量。