我发现很多人都提到了吃豆子鬼的人工智能,但他们都没有提到在吃掉鬼人吃鬼之后眼睛如何回到中央鬼洞.
在我的实现中,我实现了一个简单但可怕的解决方案.我只是在每个角落都硬编码应该采取哪个方向.
有没有更好/或最好的解决方案?也许是一个适用于不同级别设计的通用产品?
是否有任何指导或标准的最佳实践如何在业余时间为您开发的软件进行版本设计以获得乐趣,但是有些人会使用它?我认为有必要对这样的软件进行编辑,以便您了解第一版正在谈论的内容(例如,修复错误,支持等等).
但是我在哪里开始版本控制?0.0.0?还是0.0?然后我如何增加数字?主要发布.小变化?并且不应该对版本控制系统的任何提交是另一个版本?或者这仅适用于以高效方式使用的版本?
在过去的几年里,我一直认为在Java中,Reflection在单元测试中被广泛使用.由于某些必须检查的变量/方法是私有的,因此必须以某种方式读取它们的值.我一直认为Reflection API也用于此目的.
上周我不得不测试一些软件包,因此编写了一些JUnit测试.像往常一样,我使用Reflection来访问私有字段和方法.但我检查代码的主管对此并不满意,并告诉我,Reflection API并不适合用于此类"黑客攻击".相反,他建议修改生产代码中的可见性.
使用Reflection是不是很糟糕的做法?我真的不相信 -
编辑:我应该提到我需要所有测试都在一个名为test的独立包中(所以使用受保护的visibilty例如也不是一个可能的解决方案)
我尝试做这样的事情:
public const List<String> METRICS = new List<String>()
{
SourceFile.LOC,
SourceFile.MCCABE,
SourceFile.NOM,
SourceFile.NOA,
SourceFile.FANOUT,
SourceFile.FANIN,
SourceFile.NOPAR,
SourceFile.NDC,
SourceFile.CALLS
};
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这不起作用:
FileStorer.METRICS' is of type 'System.Collections.Generic.List<string>'. A const field of a reference type other than string can only be initialized with null.
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
在我的应用程序中,用户可以输入文件名.在处理之前,我想检查输入字符串是否是Windows Vista上的有效文件名.
这是最简单的方法吗?
通过有效我正在努力合法和不存在
大多数情况下,Android应用程序是用Java编写的.但我听说它也可以使用Scala或其他语言.我还读到可以包含本机C/C++代码.
是否有可用的参考/列表显示可以使用哪种语言?
我正在寻找一个免费的Java库来可视化一些数据.我想做类似以下两个图像的事情.有可能吗?我首先想到的是prefuse,但是自2007年以来这还没有开发出来.那么任何其他的库?


我有一个方法可以抛出两个不同的异常,CommuncationException和SystemException.在这两种情况下,我都使用相同的三行代码块.
try {
...
}
catch (CommunicationException ce) {
...
}
catch {SystemExcetion se) {
...
}
Run Code Online (Sandbox Code Playgroud)
有没有可能这样做?
try {
...
}
catch (CommunicationException ce, SystemException se) {
...
}
Run Code Online (Sandbox Code Playgroud)
然后我就不用写这么多代码了.我知道我可以将异常处理提取到私有方法,但由于代码只有3行,因此方法定义将占用比正文本身更多的代码.
我在使用setEmptyView方法时遇到了麻烦.我尝试在GridView和ListView中实现它,但它们都没有用.这是一个示例代码块:
networkGames = (GridView) baseLayer.findViewById(R.id.all_game_grid_network);
networkGames.setBackgroundResource(R.drawable.game_border);
networkGames.setSelector(R.drawable.game_active_border);
networkGames.setOnItemClickListener(new NetworkGameListener());
networkGames.setEmptyView(View.inflate(baseLayer, R.drawable.no_network_games, null));
networkGames.setAdapter(new NetworkAdapter());
Run Code Online (Sandbox Code Playgroud)
网络适配器不包含任何项目:
private class NetworkAdapter extends BaseAdapter {
/* (non-Javadoc)
* @see android.widget.Adapter#getCount()
*/
@Override
public int getCount() {
return 0;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getItem(int)
*/
@Override
public Object getItem(int position) {
return null;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getItemId(int)
*/
@Override
public long getItemId(int position) {
return 0;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
*/
@Override
public View getView(int position, View convertView, …Run Code Online (Sandbox Code Playgroud) 当类名作为字符串传递时,如何使用反射获取类的所有公共方法,如下面的方法所示.?
private MethodInfo[] GetObjectMethods(string selectedObjClass)
{
MethodInfo[] methodInfos;
Assembly assembly = Assembly.GetAssembly(typeof(sampleAdapater));
Type _type = assembly.GetType("SampleSolution.Data.MyData." + selectedObjClass);
///get all the methods for the classname passed as string
return methodInfos;
}
Run Code Online (Sandbox Code Playgroud)
请帮忙.谢谢
c# ×4
.net ×3
java ×3
android ×2
reflection ×2
exception ×1
file ×1
heuristics ×1
pacman ×1
path-finding ×1
scala ×1
scripting ×1
unit-testing ×1
versioning ×1