遇到朋友提交的这种代码该怎么办

2015-08-19 16:55:27 +08:00
 aprikyblue

受朋友委托,然后跟另一个朋友一起开发的,
一起开发的这个,之前 2 年没联系,

结果 ........
看完我一句也不想说




12186 次点击
所在节点    程序员
104 条回复
phx13ye
2015-08-19 22:16:15 +08:00
这么多 ifelse
这不应该用字典,哈希,映射,对象吗?
装逼一点就应该上那啥设计模式了, state ?
WispZhan
2015-08-19 22:22:12 +08:00
我很好奇,楼主,你把这段代码的算法重构一次,贴上来 让我们来评评。总的来说,已经可以了,起码该有的都有。

评论总要有个对比
yylzcom
2015-08-19 22:26:45 +08:00
@salmon5 我觉得还是点进去这个域名的邮箱更 diao
“ For abuse complaint, please send details to ki@ki.ki ”
tnx2014
2015-08-19 23:03:51 +08:00
楼主大概被各位吓到了,所以一个字也说不出来。
publicID001
2015-08-19 23:10:45 +08:00
@iamppz 我们随便一个 Project 纯 CSS 就几万行
special
2015-08-19 23:11:07 +08:00
buxue 这个函数最直接最能意会了...

英文不好,对于补血这个我也不好取函数名..
panlilu
2015-08-19 23:14:55 +08:00
看代码我猜是梦幻西游(或者之类游戏)的挂机外挂。。
Sn0wM4n
2015-08-19 23:18:32 +08:00
@NovemberEleven 哈哈,同期待朋友快出现~
kohnv
2015-08-19 23:19:18 +08:00
这么多数字以后要改死
evlos
2015-08-19 23:19:57 +08:00
那么多注释,代码整齐,缩进都有弄好,其实还好吧
muzuiget
2015-08-19 23:36:26 +08:00
看上去写外挂,感觉还 OK ,反正这种一次性的东西,怎么快怎么来。
an168bang521
2015-08-19 23:41:57 +08:00
代码整齐,有注释,一眼扫过能理解;
而且代码思路比较明确;唯一不好的就是耦合度比较高,但是有这么详细的注释;还要啥自行车啊!
是一名体贴的队友啊!
husinhu
2015-08-19 23:45:15 +08:00
能找到一起写 demo 功能的同伴就不错了,还挑三拣四
dbas
2015-08-19 23:54:32 +08:00
这代码,可以了,水平也不差,要是写出来大多数看不懂才是问题
不要以为写什么类,或抽象了就好。
BlueSky002
2015-08-20 00:07:07 +08:00
请收下我的膝盖
aprikyblue
2015-08-20 01:03:16 +08:00
@dbas

public static int IfVerify ()
{

Bitmap a = Piccolor.GetWindow (hwnd );
if (ColorTranslator.ToWin32 (a.GetPixel (347, 219 )) == 16776960 && ColorTranslator.ToWin32 (a.GetPixel (516, 411 )) == 3407871 )
{
int key =ColorTranslator.ToWin32 (a.GetPixel (418, 305 )) +
ColorTranslator.ToWin32 (a.GetPixel (418, 326 )) +
ColorTranslator.ToWin32 (a.GetPixel (529, 305 )) +
ColorTranslator.ToWin32 (a.GetPixel (529, 326 )) +
ColorTranslator.ToWin32 (a.GetPixel (654, 305 )) +
ColorTranslator.ToWin32 (a.GetPixel (654, 326 )) +
ColorTranslator.ToWin32 (a.GetPixel (793, 305 )) +
ColorTranslator.ToWin32 (a.GetPixel (793, 326 ));
if (ConfigManager.hashTable.ContainsKey (key ))
{
a.Dispose ();
switch (ConfigManager.hashTable[key].ToString ())
{
case "1":
Common.Click (418, 305 );
break;
case "2":
Common.Click (529, 305 );
break;
case "3":
Common.Click (654, 305 );
break;
case "4":
Common.Click (793, 305 );
break;
}

return 1;
}
else
{
string path = "C:/" + key + ".jpg";
a.Save (path );
Common.SendFile (path );
a.Dispose ();
return 2;
}

}
a.Dispose ();
return -1;
}




以此段为例:
Dispose.调的满天飞。。
RGB 直接加起来做 key..
hashTable[key]取出来不进行类型转换,直接调了继承自 objcet 的 ToString ()。。。
临时文件直接写到 C 盘根。。

先不说类。。这么干没问题?
theoractice
2015-08-20 01:14:15 +08:00
要是写外挂的就别吐槽这个了,每次游戏更新之后要重写的不是一点点,在这个领域里谈什么代码质量没有太大意义。
LZ 没有思想准备的话别弄了,你估计做不下去的。
aprikyblue
2015-08-20 01:32:12 +08:00
@theoractice

其实之前干过一次,就是随便写快速开发。。最后恶心的不成样子, bug 八千八,无奈放弃维护

这次受委托,于是全部重写== 没打算盈利,纯粹是因为朋友委托的 关系多年很好
这游戏更新不是很大,(也没啥修改数据来的作弊功能,最主要是挂机。。一般就是出什么新内容再扩展下功能

然而 异常都不管,也不检查啥,遇到 N 次 蹦空引用异常直接挂。。。
还有逻辑错误,甚至不测试就给你扔 git 上。。感觉一直跟后边给擦屁股
msg7086
2015-08-20 05:43:48 +08:00
和我写的山口山外挂的代码几乎如出一辙。
master13
2015-08-20 08:20:55 +08:00
Go faster, go alone.
Go further, go together.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/214336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX