如果我想验证输入内容,是否应该将验证代码作为私有帮助器方法或创建单独的静态帮助器类?验证代码是否会增加对象的大小?
更多信息
假设我有一堂课
import java.util.Vector;
public class Place {
private final double longitude;
private final double latitude;
private final String id;
private String address;
private String name;
private String types;
private String icon;
private String phoneNumber;
private String websiteUrl;
private int rating;
private Vector<Integer> challenges;
public static class Builder {
// required parameter
private final double longitude;
private final double latitude;
private final String id;
// optional parameter
private String address = "n/a";
private String name = "n/a";
private String …Run Code Online (Sandbox Code Playgroud) 我一般在一个班级中宣称一个私人领域的土地以及一个从外面进入这个领域的公共财产(到目前为止没有什么壮观的笑容):
private bool doILookGood;
public bool DoILookGood
{
get { return doILookGood; }
set { doILookGood = value; }
}
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否有一种优雅而有效的方式来评论这种情况,而无需两次写同样的评论.换句话说,我希望保留IDE在使用工具提示进行鼠标悬停时向我显示变量注释的功能.
到目前为止,我正在以这种方式发表评论:
/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;
/// <summary>
/// This i always true.
/// </summary>
public bool DoILookGood
{
get { return doILookGood; }
set { doILookGood = value; }
}
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;
/// <summary cref="doILookGood" />
public bool …Run Code Online (Sandbox Code Playgroud) 我在我的python代码中每行严格强制执行80个字符,但偶尔我必须将一行字符串分成两行,如下所示
print time.strftime("%m/%d/%Y %I:%M:%S \
%p",time.localtime(os.path.getmtime(fname)))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,输出将在"AM/PM"前面有额外的空格,如
foo.dat was last modified: 01/10/2012 02:53:15 AM
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法来解决这个问题,只是为了避免切断弦,或者在这种情况下允许长线,但是,我想知道是否还有其他更多的内在方法来解决这个问题,同时允许str-cutting和line-breaking发生.第二行由编辑器自动缩进,我也不想改变它.谢谢.
在谷歌Javascript编码指南中,它说我们不应该使用多级原型层次结构,因为"这些层次结构比它们最初出现时要难得多!".实际上我没有明白这意味着什么.我在哪里可以找到一个很好的例子来解释它的用法并说明它的不良影响?
我有一个包含一些文本的html元素列表.我需要找到包含我要提供的所有单词的元素.我有一些代码完成了我想要的,但我相信有更好的方法来做到这一点
myWords=['some', 'supplied','words']
theTextContents='a string that might or might not have all of some supplied words'
goodElements=[]
count=0
for word in myWords:
if word in TheTextContents:
count+=1
if count==len(myWords):
goodElements.append(theTextContents)
Run Code Online (Sandbox Code Playgroud)
还有更多代码,但这是我们测试的基本方法,以查看MyWords中的所有单词是否都在theTextContent中.在我看来,这太笨重了,不能成为优秀的Python代码
任何见解将不胜感激
书籍通常会说,如果课程太大而无法管理,请重新考虑实施,因为设计需要更正,因为课程尚未正确定义.
但是在类确实很大的情况下,例如当一个类被扩展以实现控件的功能时(例如Canvas),并且有许多不同的东西,如命中测试,绘图,管理绘制的项目等.在这种情况下使用部分类来分离更大容器(例如自定义控件)的"不同"事物是一个很好的解决方案吗?
其次,作为一个更普遍和更广泛的解决方案,在转向部分类之前应该考虑什么?
我想这是一个风格问题.为什么人们会遇到用PHP 分配变量$_GET和$_POST数据的麻烦?例如,为什么这样做:
<?php
$name = $_GET['name'];
echo $name;
?>
Run Code Online (Sandbox Code Playgroud)
什么时候你可以这样做呢?
<?php
echo $_GET['name'];
?>
Run Code Online (Sandbox Code Playgroud) 我对ruby及其rubyisms相当新,我有一个类似于这个的代码:
def my_method objects
temp = []
objects.each do |o|
temp << {
:text => o.text,
:title => o.title
}
end
return temp
end
Run Code Online (Sandbox Code Playgroud)
你能帮我写好吗?或者向我展示一些学习这种红宝石的资料来源?我已经在做红宝石加油课了.
在我的空闲时间里,我一直在学习Java,到目前为止,我对如何正确使用变量一无所知.我的意思是,我应该更喜欢使用实例变量,还是只使用单个方法中的变量.
例如,这是我写的一段代码:
public class arsenalTroop {
String[][] troopStats;
String[][] weaponStats;
String[][] armorStats;
String[][] animalStats;
String[] troops;
String[] weapon;
String[] armor;
String[] animal;
JLabel[] troopsArray;
int troopTotal;
int weaponTotal;
int armorTotal;
int lordTotal;
int animalTotal;
JFrame arsenalLordFrame = new JFrame();
JTextField name = new JTextField();
JLayeredPane lP = new JLayeredPane();
JLayeredPane fP = new JLayeredPane();
JLayeredPane ldP= new JLayeredPane();
JLabel siegeLabel = new JLabel();
JComboBox weaponCB;
JComboBox armorCB;
JComboBox animalCB;
JLabel siegeText = new JLabel();
JButton addWep = new JButton();
JButton …Run Code Online (Sandbox Code Playgroud) 我应该将每个班级放在单独的档案中吗?即使那些仅在一个地方使用的短助手类?像这个:
public class IntToVisibilityConverter : GenericValueConverter<int, Visibility>
{
protected override Visibility Convert(int value)
{
return value == 0 ? Visibility.Collapsed : Visibility.Visible;
}
}
Run Code Online (Sandbox Code Playgroud) coding-style ×10
c# ×3
.net ×2
java ×2
python ×2
code-cleanup ×1
javascript ×1
logic ×1
php ×1
refactoring ×1
ruby ×1
swing ×1
variables ×1