我是第一次做大项目.我有很多类,其中一些有公共变量,一些有setter和getter方法的私有变量,同样有两种类型.
我决定重写此代码,主要只使用一种类型.但我不知道应该使用哪个(仅用于同一对象中的方法的变量始终是私有的,并且不受此问题的影响).
我知道公共和私人意味着什么,但在现实世界中使用什么以及为什么?
在我的代码中,我有一个if语句,看起来像:
if(someFunction1(a) || someFunction2(b->b1,c) || *d == null || somefunction3(e) > f * g || !e->e1 || ...){
return 0;
} else {
do_something;
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,真正的变量和函数名称几乎是三行条件,它看起来很容易被忽视.所以我决定把它重写成形式:
if(someFunction1(a)){
return 0;
} else if(someFunction2(b->b1,c)){
return 0;
} else if(*d == null){
return 0;
} else if(somefunction3(e) > f * g){
return 0;
} else if(!e->e1){
return 0;
} else if(...){
return 0;
} else{
do_something;
}
Run Code Online (Sandbox Code Playgroud)
有什么理由我不应该这样做吗?
我有编辑订单的表单,但我必须添加按钮以删除订单.现在我有两个提交按钮的表单:
@helper.form(routes.Order.editOrder,'class -> "form-horizontal") {
@helper.inputText(
PlayMagicForJava.javaFieldtoScalaField(editOrderForm("date")),
'_label -> "Date:",
'_help -> ""
)
@helper.inputText(
PlayMagicForJava.javaFieldtoScalaField(editOrderForm("place_from")),
'_label -> "From:",
'_help -> ""
)
<button type="submit" name="edit" id="edit" class="btn btn-primary">Edit Order</button>
<button type="submit" name="remove" id="remove" value="remove" class="btn">Remove order</button>
}
Run Code Online (Sandbox Code Playgroud)
我在控制器中的功能仅用于编辑:
public static Result editOrder(){
Order user = User.findByEmail(session("email"));
Form<Order> editOrderFormFilled = editOrderForm.bindFromRequest();
Order order = Order.findByID(editOrderFormFilled.get().id);
if(editOrderFormFilled.hasErrors()) {
return badRequest();
}
else if(user.id != order.created_by){
return badRequest();
}else{
return OK();
}
}
Run Code Online (Sandbox Code Playgroud)
如何处理提交的按钮?
我有一个复合设计模式的表达式:
interface TreeExpression{
void accept(Visitor visitor);
}
abstract class Operator{
TreeExpression childA;
TreeExpression childB;
Operator(TreeExpression a, TreeExpression b){
this.childA = a;
this.childB = b;
}
}
class PlusTreeExpression extends Operator implements TreeExpression{
public PlusTreeExpression(TreeExpression a, TreeExpression b) {
super(a, b);
}
public void accept(Visitor visitor) {
this.childA.accept(visitor);
visitor.visit(this);
this.childB.accept(visitor);
}
}
class MultiplyTreeExpression extends Operator implements TreeExpression{
public MultiplyTreeExpression(TreeExpression a, TreeExpression b) {
super(a, b);
}
public void accept(Visitor visitor) {
this.childA.accept(visitor);
visitor.visit(this);
this.childB.accept(visitor);
}
}
class IntegerNode implements TreeExpression{ …Run Code Online (Sandbox Code Playgroud) 我有一个div包含另一个带图像的div.我需要将这些div放在网上,但是当我添加另一个div时,没有足够的位置让这个div进入一个新的界限.div的数量取决于db中的图像数量,所以我需要滚动它们.
CSS:
div#saved_images {
width: 85%;
height: 135px;
overflow-x: scroll;
overflow-y: hidden;
border: 2px dashed #000;
border-radius: 10px;
}
div.saved_image {
display: inline-block;
width: 170px;
height: 120px;
padding-left: 5px;
padding-right: 5px;
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
感谢您的输入.这是一个jsfiddle:http://jsfiddle.net/remibreton/Sc2L8/
我开始为发现子串编写程序,但它不起作用,它总是找到子串.这是奇怪的行为,所以我写了简单的程序:
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
str = "aaaa";
unsigned found = str.find("bbbb");
if(found!=std::string::npos){
cout << "I FOUND IT!!!!\n";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它显示文字"I FOUND IT !!!!" 我不明白发生了什么.
c++ ×2
oop ×2
abstraction ×1
c ×1
css ×1
css-float ×1
data-access ×1
forms ×1
if-statement ×1
java ×1
string ×1
visitor ×1