有什么方法可以提高我的代码的可读性,还是我终于赢得了反对草率编码的战争?
下面是我为Sims 3制作的一个游戏启动程序,用来修复大缓存文件造成的糟糕性能。
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows.Forms;
namespace Sims_3___Anti_Cache
{
public partial class Form1 : Form
{
Game Sims3;
public Form1()
{
InitializeComponent();
Sims3 = new Game();
Sims3.cache = new List<string>() { "CASPartCache.package", "compositorCache.package", "scriptCache.package",
"simCompositorCache.package", "socialCache.package" };
Sims3.cache_path = "C:/Users/DarkShadow/Documents/Electronic Arts/The Sims 3/";
Sims3.clear_cache();
Sims3.path = "C:/Program Files (x86)/Electronic Arts/The Sims 3/Game/Bin/TS3.exe";
isCleared.Enabled = true;
}
private void isCleared_Tick(object sender, System.EventArgs e)
{
if (Sims3.cache_cleared)
{
Process.Start(Sims3.path);
Application.Exit();
}
}
}
}发布于 2014-01-01 15:28:19
从代码中移除硬编码字符串会使您受益。最好将它们放入app.config文件或资源文件中。配置文件的另一个优点是用户可以在不重新编译的情况下更改字符串。
方法和属性的命名对于C#来说不是标准的。对于公共方法和属性使用Pascal大小写,不带底栏。
Sims3.CachePath = configCachePath;
Sims3.ClearCache();局部变量和私有方法的命名使用camel case。
isClearedTick();发布于 2014-01-01 15:36:54
Game类是什么?是干什么的呢?
不过,有些问题:
PROGRAMFILES(X86)和CSIDL_MYDOCUMENTS这样的变量)来使代码更易于移植。从您显示的代码中,这个启动程序不会做很多事情,它会清除一个缓存(在后台?)并且(在回叫时)启动子进程。
您是否需要为此创建一个完整的程序?批处理文件似乎是正确的工具(也许您需要一个程序来清除实际的缓存文件?):
@echo off
rem clear cache files
ClearCaches "%CSIDL_MYDOCUMENTS%\Electronic Arts\The Sims 3\*Cache.package"
rem start game
"%PROGRAMFILES(X86)%\Electronic Arts\The Sims 3\Game\Bin\TS3.exe"单击批处理文件时,它将运行并删除四个缓存文件,然后运行Sims。
@echo off
del "C:\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\CASPartCache.package"
del "C:\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\scriptCache.package"
del "C:\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\compositorCache.package"
del "C:\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\simCompositorCache.package"
start /d "C:\Program Files\Electronic Arts\The Sims 3 Ambitions\Game\Bin" Sims3Launcher.exehttps://codereview.stackexchange.com/questions/38383
复制相似问题