123456811
发表于 2021-3-17 20:47
看到这个必须来答一波!
交代下背景:unity3d环境下开发,现在的项目分几个模块,前两个模块是外包做的,现在项目到了后期我们自己的程序要对整个项目进行优化,结果打开外包做的东西我跟另外那个程序哥们都震惊了。
这个人,从来不实例化物体,用多少摆多少。命名英汉结合,纯数字。
用3d的摆法摆2d的image,就用几张图拼一个标牌,竟然连图片的Z轴都还要改变。
一个场景里面无数个canvas。
unity给好的button未点击、点击、鼠标悬停不用,自己写一个。
一个if后面的小括号几十行代码。
一个2000多行的单例类备注不超过30行。
而且代码耦合度极高,代码结构及其冗余,看起来一大堆没用的代码,偏偏里面又夹杂着一些用到的,一删就报错,真的让人老壳疼。
放两张图大家感受一下。
第一张是他代码里面一个if语句后面的判断条件,对,就是一个if后面的()里面的判断条件,整整写了几十行,而且这一个方法里面有好多个这样类似的if语句。
第二张是这个大神在unity场景中gameobject的命名,这些1,2,3,4还不是最强的,还有很多汉语拼音命名和英汉结合命名,真的看的头都大了,找个东西半天找不到。
而且这个人从不用代码实例化物体,都是用几个直接在场景上摆几个,我真的是,一模一样的东西连个预制体都不做,这真的是程序员而不是工厂流水线工人?
我本来以为我是unity开发人员中处于最底端最菜的一批,每次看别人的代码和项目都是抱着膜拜和学习的心态来看,看不明白的地方我都会觉得是自己水平不够,直到遇见这个人做的东西我真的是!!怎么会有这么菜这么辣鸡的程序员!!
从上周开始我跟公司另外那个程序,我们俩该这个模块天天加班,周末还过来加班到九点,改的怀疑人生,吐槽吐到词穷,还是没完全改好。。。
哎,不说了,继续改项目去。
当当当当裤裆坦
发表于 2021-3-17 20:51
这段代码动摇了我的世界观,果然数学学得好,爹妈死得早,完全不给后人留活路啊:
/**
* @desc 判断ip是否为台湾IP
* @param string $ip 字符串格式的ip
* @return boolean 是台湾IP的话返回true,否则返回false
*/
public static function isTaiwanIp($ip) {
$longip = sprintf("%u", ip2long($ip));
switch ($longip % 100000000) {
case 0:
if (($longip>=19005440 AND $longip<=19136511)
OR ($longip>=27262976 AND $longip<=28311551)
) {
return true;
}
break;
case 4:
if (($longip>=456327168 AND $longip<=456523775)
OR ($longip>=462618624 AND $longip<=462635007)
OR ($longip>=468713472 AND $longip<=469237759)
) {
return true;
}
break;
case 9:
if (($longip>=978714624 AND $longip<=978780159)
OR ($longip>=979566592 AND $longip<=979599359)
OR ($longip>=980549632 AND $longip<=980680703)
OR ($longip>=996671488 AND $longip<=996802559)
OR ($longip>=997195776 AND $longip<=998244351)
) {
return true;
}
break;
case 10:
if (($longip>=1019609088 AND $longip<=1019740159)
OR ($longip>=1022623744 AND $longip<=1022722047)
OR ($longip>=1022885888 AND $longip<=1023148031)
OR ($longip>=1024361472 AND $longip<=1024361487)
OR ($longip>=1024361728 AND $longip<=1024361759)
OR ($longip>=1024361808 AND $longip<=1024361823)
OR ($longip>=1024361832 AND $longip<=1024362239)
OR ($longip>=1024366336 AND $longip<=1024366591)
OR ($longip>=1024366976 AND $longip<=1024367039)
OR ($longip>=1024369920 AND $longip<=1024370175)
OR ($longip>=1024373824 AND $longip<=1024373887)
OR ($longip>=1024374080 AND $longip<=1024374111)
OR ($longip>=1024375808 AND $longip<=1024375999)
OR ($longip>=1024376096 AND $longip<=1024376111)
OR ($longip>=1024376160 AND $longip<=1024376191)
OR ($longip>=1024376256 AND $longip<=1024376463)
OR ($longip>=1024376472 AND $longip<=1024376479)
OR ($longip>=1024376512 AND $longip<=1024376575)
OR ($longip>=1024376768 AND $longip<=1024376799)
OR ($longip>=1024720896 AND $longip<=1024786431)
OR ($longip>=1025376256 AND $longip<=1025507327)
OR ($longip>=1027080192 AND $longip<=1027866623)
OR ($longip>=1027997696 AND $longip<=1028128767)
OR ($longip>=1037565952 AND $longip<=1037591499)
OR ($longip>=1037591504 AND $longip<=1038614527)
OR ($longip>=1039638528 AND $longip<=1039642623)
OR ($longip>=1072934880 AND $longip<=1072934911)
OR ($longip>=1087495520 AND $longip<=1087495535)
) {
return true;
}
break;
case 11:
if (($longip>=1120150032 AND $longip<=1120150039)
OR ($longip>=1120151696 AND $longip<=1120151711)
OR ($longip>=1125110928 AND $longip<=1125110943))
{
return true;
}
break;
case 12:
if (($longip>=1296258048 AND $longip<=1296258303)) {
return true;
}
break;
case 13:
if (($longip>=1310248400 AND $longip<=1310248415)) {
return true;
}
break;
case 18:
if (($longip>=1847066624 AND $longip<=1847590911)
OR ($longip>=1848803328 AND $longip<=1848819711)
OR ($longip>=1866674176 AND $longip<=1866678271)
OR ($longip>=1866858496 AND $longip<=1866989567)
OR ($longip>=1867513856 AND $longip<=1867775999)
OR ($longip>=1870495744 AND $longip<=1870497791)
OR ($longip>=1874329600 AND $longip<=1874460671)
OR ($longip>=1877721088 AND $longip<=1877737471)
OR ($longip>=1877999616 AND $longip<=1879048191)
OR ($longip>=1884164096 AND $longip<=1884168191)
OR ($longip>=1884176384 AND $longip<=1884184575)
OR ($longip>=1884186624 AND $longip<=1884188671)
OR ($longip>=1885863936 AND $longip<=1885995007)
OR ($longip>=1886986240 AND $longip<=1886990335)
OR ($longip>=1886994432 AND $longip<=1887005695)
OR ($longip>=1897222144 AND $longip<=1897226239)
OR ($longip>=1897242624 AND $longip<=1897250815)
OR ($longip>=1899855872 AND $longip<=1899888639)
) {
return true;
}
break;
case 19:
if (($longip>=1908670464 AND $longip<=1908735999)
OR ($longip>=1914175488 AND $longip<=1914437631)
OR ($longip>=1914576896 AND $longip<=1914580991)
OR ($longip>=1914699776 AND $longip<=1915748351)
OR ($longip>=1921515520 AND $longip<=1921646591)
OR ($longip>=1921777664 AND $longip<=1921843199)
OR ($longip>=1925619712 AND $longip<=1925627903)
OR ($longip>=1931362304 AND $longip<=1931378687)
OR ($longip>=1932161024 AND $longip<=1932163071)
OR ($longip>=1932197888 AND $longip<=1932263423)
OR ($longip>=1934622720 AND $longip<=1934884863)
OR ($longip>=1934987264 AND $longip<=1934991359)
OR ($longip>=1940242432 AND $longip<=1940258815)
OR ($longip>=1946173680 AND $longip<=1946173687)
OR ($longip>=1946173696 AND $longip<=1946173951)
OR ($longip>=1949442048 AND $longip<=1949446143)
OR ($longip>=1950023680 AND $longip<=1950089215)
OR ($longip>=1952022528 AND $longip<=1952026623)
OR ($longip>=1953923072 AND $longip<=1953939455)
OR ($longip>=1960071168 AND $longip<=1960075263)
OR ($longip>=1960181760 AND $longip<=1960185855)
OR ($longip>=1964179456 AND $longip<=1964244991)
OR ($longip>=1966596096 AND $longip<=1966600191)
OR ($longip>=1966604288 AND $longip<=1966669823)
OR ($longip>=1969709056 AND $longip<=1969713151)
OR ($longip>=1986202624 AND $longip<=1986202879)
OR ($longip>=1986232320 AND $longip<=1986265087)
OR ($longip>=1989541888 AND $longip<=1989607423)
OR ($longip>=1990197248 AND $longip<=1990983679)
OR ($longip>=1994850304 AND $longip<=1995046911)
OR ($longip>=1997406208 AND $longip<=1997471743)
OR ($longip>=1997520896 AND $longip<=1997537279)
OR ($longip>=1998458880 AND $longip<=1998462975)
OR ($longip>=1998565376 AND $longip<=1998569471)
) {
return true;
}
break;
case 20:
if (($longip>=2001465344 AND $longip<=2001469439)
OR ($longip>=2001567744 AND $longip<=2001600511)
OR ($longip>=2007035904 AND $longip<=2007039999)
OR ($longip>=2019557376 AND $longip<=2021654527)
OR ($longip>=2033356800 AND $longip<=2033358847)
OR ($longip>=2033364992 AND $longip<=2033369087)
OR ($longip>=2046705664 AND $longip<=2046722047)
OR ($longip>=2053308416 AND $longip<=2053324799)
OR ($longip>=2053390336 AND $longip<=2053406719)
OR ($longip>=2054422528 AND $longip<=2054619135)
OR ($longip>=2054684672 AND $longip<=2055208959)
OR ($longip>=2055229440 AND $longip<=2055231487)
OR ($longip>=2056265728 AND $longip<=2056273919)
OR ($longip>=2056388608 AND $longip<=2056519679)
OR ($longip>=2056816512 AND $longip<=2056816639)
OR ($longip>=2059966464 AND $longip<=2059968511)
OR ($longip>=2060025856 AND $longip<=2060058623)
OR ($longip>=2063107664 AND $longip<=2063107671)
OR ($longip>=2063376384 AND $longip<=2063380479)
OR ($longip>=2063466496 AND $longip<=2063482879)
OR ($longip>=2063552512 AND $longip<=2063556607)
OR ($longip>=2063605760 AND $longip<=2063613951)
OR ($longip>=2063646720 AND $longip<=2063663103)
OR ($longip>=2066882560 AND $longip<=2066890751)
OR ($longip>=2066972672 AND $longip<=2067005439)
OR ($longip>=2070085632 AND $longip<=2070102015)
OR ($longip>=2070806528 AND $longip<=2070872063)
OR ($longip>=2076180480 AND $longip<=2076442623)
OR ($longip>=2076966912 AND $longip<=2077097983)
OR ($longip>=2079326208 AND $longip<=2079457279)
OR ($longip>=2080112640 AND $longip<=2080145407)
OR ($longip>=2080366592 AND $longip<=2080368639)
OR ($longip>=2080768000 AND $longip<=2080776191)
OR ($longip>=2080899072 AND $longip<=2081226751)
OR ($longip>=2082308096 AND $longip<=2082324479)
OR ($longip>=2087485440 AND $longip<=2087501823)
OR ($longip>=2087546880 AND $longip<=2087550975)
OR ($longip>=2090237952 AND $longip<=2090239999)
OR ($longip>=2090565632 AND $longip<=2090582015)
OR ($longip>=2093432832 AND $longip<=2093445119)
OR ($longip>=2094661632 AND $longip<=2094759935)
) {
return true;
}
break;
case 21:
if (($longip>=2101272576 AND $longip<=2101276671)
OR ($longip>=2111832064 AND $longip<=2112487423)
OR ($longip>=2113683488 AND $longip<=2113683519)
OR ($longip>=2113683600 AND $longip<=2113683615)
OR ($longip>=2113683680 AND $longip<=2113683775)
OR ($longip>=2113684096 AND $longip<=2113684127)
OR ($longip>=2113684224 AND $longip<=2113684239)
OR ($longip>=2113684256 AND $longip<=2113684271)
OR ($longip>=2113684432 AND $longip<=2113684439)
OR ($longip>=2113684448 AND $longip<=2113684511)
OR ($longip>=2113684736 AND $longip<=2113684991)
OR ($longip>=2113685232 AND $longip<=2113685247)
OR ($longip>=2113686080 AND $longip<=2113686207)
OR ($longip>=2113686336 AND $longip<=2113686399)
OR ($longip>=2113686528 AND $longip<=2113687039)
OR ($longip>=2113688064 AND $longip<=2113688319)
) {
return true;
}
break;
case 22:
if (($longip>=2258591840 AND $longip<=2258591847)
OR ($longip>=2258591856 AND $longip<=2258591935)
OR ($longip>=2258595008 AND $longip<=2258595023)
OR ($longip>=2258595232 AND $longip<=2258595263)
OR ($longip>=2258595336 AND $longip<=2258595343)
OR ($longip>=2258595464 AND $longip<=2258595471)
OR ($longip>=2258595584 AND $longip<=2258595591)
OR ($longip>=2258597072 AND $longip<=2258597087)
OR ($longip>=2258598080 AND $longip<=2258598111)
OR ($longip>=2258598336 AND $longip<=2258598351)
OR ($longip>=2258603744 AND $longip<=2258603751)
OR ($longip>=2258614784 AND $longip<=2258614799)
OR ($longip>=2261778432 AND $longip<=2261843967)
) {
return true;
}
break;
case 23:
if (($longip>=2343501824 AND $longip<=2343567359)
OR ($longip>=2346647552 AND $longip<=2346713087)
OR ($longip>=2354839552 AND $longip<=2354905087)
OR ($longip>=2355101696 AND $longip<=2355167231)
OR ($longip>=2355953664 AND $longip<=2357919743)
) {
return true;
}
break;
case 27:
if (($longip>=2735538176 AND $longip<=2736848895)) {
return true;
}
break;
case 28:
if (($longip>=2824798208 AND $longip<=2824863743)
OR ($longip>=2849178368 AND $longip<=2849178623)
) {
return true;
}
break;
case 29:
if (($longip>=2905407744 AND $longip<=2905407999)
OR ($longip>=2938712064 AND $longip<=2938716159)
OR ($longip>=2942304256 AND $longip<=2942566399)
OR ($longip>=2943295488 AND $longip<=2943303679)
OR ($longip>=2943336448 AND $longip<=2943352831)
OR ($longip>=2947809280 AND $longip<=2948071423)
OR ($longip>=2948132864 AND $longip<=2948134911)
) {
return true;
}
break;
case 30:
if (($longip>=3025928192 AND $longip<=3025932287)
OR ($longip>=3031433216 AND $longip<=3031564287)
OR ($longip>=3033268224 AND $longip<=3033530367)
OR ($longip>=3033968640 AND $longip<=3033972735)
OR ($longip>=3034120192 AND $longip<=3034251263)
OR ($longip>=3034500096 AND $longip<=3034501119)
OR ($longip>=3064791040 AND $longip<=3064807423)
OR ($longip>=3064808448 AND $longip<=3064809471)
OR ($longip>=3068723200 AND $longip<=3068919807)
OR ($longip>=3081846784 AND $longip<=3081847807)
) {
return true;
}
break;
case 32:
if (($longip>=3225944832 AND $longip<=3226008831)
OR ($longip>=3226707456 AND $longip<=3226715391)
OR ($longip>=3233590016 AND $longip<=3233590271)
OR ($longip>=3233808384 AND $longip<=3233873919)
OR ($longip>=3262473986 AND $longip<=3262473986)
OR ($longip>=3262473994 AND $longip<=3262473995)
OR ($longip>=3262473999 AND $longip<=3262473999)
OR ($longip>=3262474001 AND $longip<=3262474001)
OR ($longip>=3262474003 AND $longip<=3262474003)
OR ($longip>=3262474005 AND $longip<=3262474005)
OR ($longip>=3262474008 AND $longip<=3262474009)
OR ($longip>=3262474039 AND $longip<=3262474039)
OR ($longip>=3262474064 AND $longip<=3262474064)
OR ($longip>=3262474071 AND $longip<=3262474071)
OR ($longip>=3262474084 AND $longip<=3262474084)
OR ($longip>=3262474116 AND $longip<=3262474116)
OR ($longip>=3262474119 AND $longip<=3262474119)
OR ($longip>=3262474121 AND $longip<=3262474121)
OR ($longip>=3262474137 AND $longip<=3262474137)
OR ($longip>=3262474140 AND $longip<=3262474140)
OR ($longip>=3262474168 AND $longip<=3262474168)
OR ($longip>=3262474174 AND $longip<=3262474174)
OR ($longip>=3262474178 AND $longip<=3262474178)
OR ($longip>=3262474210 AND $longip<=3262474210)
OR ($longip>=3278939944 AND $longip<=3278939947)
OR ($longip>=3278939968 AND $longip<=3278939971)
OR ($longip>=3278940068 AND $longip<=3278940071)
OR ($longip>=3278940128 AND $longip<=3278940131)
OR ($longip>=3278942208 AND $longip<=3278942211)
OR ($longip>=3278942540 AND $longip<=3278942543)
OR ($longip>=3278942552 AND $longip<=3278942555)
OR ($longip>=3278942580 AND $longip<=3278942583)
OR ($longip>=3278942592 AND $longip<=3278942595)
OR ($longip>=3278942604 AND $longip<=3278942607)
OR ($longip>=3278942680 AND $longip<=3278942683)
OR ($longip>=3278942700 AND $longip<=3278942703)
) {
return true;
}
break;
case 33:
if (($longip>=3389142016 AND $longip<=3389143039)
OR ($longip>=3389235200 AND $longip<=3389243391)
OR ($longip>=3389303040 AND $longip<=3389303295)
OR ($longip>=3389326336 AND $longip<=3389326847)
OR ($longip>=3389327360 AND $longip<=3389329407)
OR ($longip>=3389382656 AND $longip<=3389390847)
OR ($longip>=3389417472 AND $longip<=3389417983)
OR ($longip>=3389525504 AND $longip<=3389526015)
OR ($longip>=3389917184 AND $longip<=3389919231)
OR ($longip>=3391553536 AND $longip<=3391619071)
OR ($longip>=3391721984 AND $longip<=3391722239)
OR ($longip>=3391846400 AND $longip<=3391847423)
OR ($longip>=3392430272 AND $longip<=3392430303)
OR ($longip>=3392432512 AND $longip<=3392432543)
OR ($longip>=3392659456 AND $longip<=3392660831)
OR ($longip>=3392660848 AND $longip<=3392660911)
OR ($longip>=3392660928 AND $longip<=3392667647)
OR ($longip>=3394267136 AND $longip<=3394269183)
OR ($longip>=3394861312 AND $longip<=3394862079)
OR ($longip>=3397271552 AND $longip<=3397275647)
OR ($longip>=3397566264 AND $longip<=3397566271)
OR ($longip>=3397648384 AND $longip<=3397713919)
OR ($longip>=3397771264 AND $longip<=3397775887)
OR ($longip>=3397775920 AND $longip<=3397777535)
OR ($longip>=3397777552 AND $longip<=3397777583)
OR ($longip>=3397777600 AND $longip<=3397777791)
OR ($longip>=3397777808 AND $longip<=3397777839)
OR ($longip>=3397777856 AND $longip<=3397778175)
OR ($longip>=3397778192 AND $longip<=3397779455)
OR ($longip>=3398488064 AND $longip<=3398492159)
OR ($longip>=3398508544 AND $longip<=3398565887)
OR ($longip>=3398638176 AND $longip<=3398638191)
OR ($longip>=3398638368 AND $longip<=3398638383)
OR ($longip>=3398638400 AND $longip<=3398638415)
OR ($longip>=3398638480 AND $longip<=3398638495)
OR ($longip>=3398639264 AND $longip<=3398639271)
OR ($longip>=3398647296 AND $longip<=3398647551)
OR ($longip>=3398750208 AND $longip<=3398754303)
OR ($longip>=3398905856 AND $longip<=3398909951)
OR ($longip>=3399065600 AND $longip<=3399074495)
OR ($longip>=3399074528 AND $longip<=3399075487)
OR ($longip>=3399075504 AND $longip<=3399076431)
OR ($longip>=3399076448 AND $longip<=3399076607)
OR ($longip>=3399076640 AND $longip<=3399076687)
OR ($longip>=3399076704 AND $longip<=3399077079)
OR ($longip>=3399077088 AND $longip<=3399077359)
OR ($longip>=3399077376 AND $longip<=3399077887)
OR ($longip>=3399139328 AND $longip<=3399147519)
OR ($longip>=3399499776 AND $longip<=3399507967)
OR ($longip>=3399841792 AND $longip<=3399846399)
OR ($longip>=3399846408 AND $longip<=3399846919)
OR ($longip>=3399846936 AND $longip<=3399847247)
OR ($longip>=3399847264 AND $longip<=3399852031)
) {
return true;
}
break;
case 34:
if (($longip>=3400056832 AND $longip<=3400060927)
OR ($longip>=3400114176 AND $longip<=3400118271)
OR ($longip>=3400343552 AND $longip<=3400351743)
OR ($longip>=3400401920 AND $longip<=3400402175)
OR ($longip>=3400404992 AND $longip<=3400409087)
OR ($longip>=3400695808 AND $longip<=3400728575)
OR ($longip>=3401642496 AND $longip<=3401642751)
OR ($longip>=3409969152 AND $longip<=3410755583)
OR ($longip>=3410821120 AND $longip<=3410853887)
OR ($longip>=3410886656 AND $longip<=3410887679)
OR ($longip>=3410931712 AND $longip<=3410935807)
OR ($longip>=3410984960 AND $longip<=3411017727)
OR ($longip>=3411269632 AND $longip<=3411270143)
OR ($longip>=3411313152 AND $longip<=3411313663)
OR ($longip>=3411316736 AND $longip<=3411318783)
OR ($longip>=3411738624 AND $longip<=3411746815)
OR ($longip>=3411857408 AND $longip<=3411857663)
OR ($longip>=3412049920 AND $longip<=3412058111)
OR ($longip>=3412249472 AND $longip<=3412249599)
OR ($longip>=3412250376 AND $longip<=3412250383)
OR ($longip>=3412250512 AND $longip<=3412250527)
OR ($longip>=3412251392 AND $longip<=3412251647)
OR ($longip>=3412713472 AND $longip<=3412721663)
OR ($longip>=3413102592 AND $longip<=3413106687)
OR ($longip>=3413565440 AND $longip<=3413569535)
OR ($longip>=3413574400 AND $longip<=3413574655)
OR ($longip>=3413762048 AND $longip<=3413770239)
OR ($longip>=3414491136 AND $longip<=3414523903)
OR ($longip>=3414638592 AND $longip<=3414646783)
OR ($longip>=3415326720 AND $longip<=3415334911)
OR ($longip>=3415497728 AND $longip<=3415497983)
OR ($longip>=3416297472 AND $longip<=3416301567)
OR ($longip>=3416317952 AND $longip<=3416326143)
OR ($longip>=3416475648 AND $longip<=3416475903)
OR ($longip>=3416478464 AND $longip<=3416478479)
OR ($longip>=3416478528 AND $longip<=3416478543)
OR ($longip>=3416478672 AND $longip<=3416478687)
OR ($longip>=3416478848 AND $longip<=3416478911)
OR ($longip>=3416480256 AND $longip<=3416480383)
OR ($longip>=3416488579 AND $longip<=3416488579)
OR ($longip>=3416506368 AND $longip<=3416514559)
OR ($longip>=3418030080 AND $longip<=3418062847)
OR ($longip>=3418144768 AND $longip<=3418148863)
OR ($longip>=3418230784 AND $longip<=3418232831)
OR ($longip>=3418394368 AND $longip<=3418394623)
OR ($longip>=3418396424 AND $longip<=3418396479)
OR ($longip>=3418396544 AND $longip<=3418396575)
OR ($longip>=3418396672 AND $longip<=3418396703)
OR ($longip>=3418396720 AND $longip<=3418396735)
OR ($longip>=3418396752 AND $longip<=3418396775)
OR ($longip>=3418396784 AND $longip<=3418396799)
OR ($longip>=3418396816 AND $longip<=3418396831)
OR ($longip>=3418396840 AND $longip<=3418396863)
OR ($longip>=3418396896 AND $longip<=3418396927)
OR ($longip>=3418399472 AND $longip<=3418399487)
OR ($longip>=3418401648 AND $longip<=3418401719)
OR ($longip>=3418401728 AND $longip<=3418401799)
OR ($longip>=3418401808 AND $longip<=3418401823)
OR ($longip>=3418401904 AND $longip<=3418401919)
OR ($longip>=3418401936 AND $longip<=3418401983)
OR ($longip>=3418402016 AND $longip<=3418402031)
OR ($longip>=3418404160 AND $longip<=3418404175)
OR ($longip>=3418406712 AND $longip<=3418406719)
OR ($longip>=3418406784 AND $longip<=3418406799)
OR ($longip>=3418406832 AND $longip<=3418406847)
OR ($longip>=3418509056 AND $longip<=3418509119)
OR ($longip>=3418510272 AND $longip<=3418510279)
OR ($longip>=3418510329 AND $longip<=3418510329)
OR ($longip>=3418510720 AND $longip<=3418510847)
OR ($longip>=3418511408 AND $longip<=3418511415)
OR ($longip>=3418511424 AND $longip<=3418511439)
OR ($longip>=3418513216 AND $longip<=3418513231)
OR ($longip>=3418513248 AND $longip<=3418513279)
OR ($longip>=3418644992 AND $longip<=3418645247)
OR ($longip>=3418646784 AND $longip<=3418647039)
OR ($longip>=3418955776 AND $longip<=3418959871)
OR ($longip>=3419078656 AND $longip<=3419209727)
OR ($longip>=3419340800 AND $longip<=3419344895)
OR ($longip>=3419348992 AND $longip<=3419353087)
OR ($longip>=3419518976 AND $longip<=3419519999)
OR ($longip>=3419602944 AND $longip<=3419611135)
OR ($longip>=3420020736 AND $longip<=3420028927)
OR ($longip>=3420323840 AND $longip<=3420332031)
OR ($longip>=3420365848 AND $longip<=3420365855)
OR ($longip>=3420366048 AND $longip<=3420366055)
OR ($longip>=3420366064 AND $longip<=3420366079)
OR ($longip>=3420366640 AND $longip<=3420366647)
OR ($longip>=3420367776 AND $longip<=3420367791)
OR ($longip>=3420368936 AND $longip<=3420368943)
OR ($longip>=3420369240 AND $longip<=3420369255)
OR ($longip>=3420372736 AND $longip<=3420372767)
) {
return true;
}
break;
case 35:
if (($longip>=3512011808 AND $longip<=3512011823)
OR ($longip>=3512016576 AND $longip<=3512016591)
OR ($longip>=3524329472 AND $longip<=3524362239)
OR ($longip>=3527016448 AND $longip<=3527933951)
OR ($longip>=3528474624 AND $longip<=3528482815)
OR ($longip>=3528785920 AND $longip<=3528851455)
OR ($longip>=3535798272 AND $longip<=3535814655)
OR ($longip>=3535831040 AND $longip<=3535863807)
OR ($longip>=3536322560 AND $longip<=3536551935)
OR ($longip>=3536846848 AND $longip<=3536928767)
OR ($longip>=3536945152 AND $longip<=3536977919)
OR ($longip>=3538944000 AND $longip<=3539271679)
OR ($longip>=3541303296 AND $longip<=3541565439)
OR ($longip>=3544711168 AND $longip<=3545235455)
OR ($longip>=3560944896 AND $longip<=3560944899)
OR ($longip>=3560944952 AND $longip<=3560944955)
OR ($longip>=3560945044 AND $longip<=3560945047)
OR ($longip>=3560945108 AND $longip<=3560945111)
OR ($longip>=3560945132 AND $longip<=3560945135)
OR ($longip>=3560945411 AND $longip<=3560945411)
OR ($longip>=3560945429 AND $longip<=3560945429)
OR ($longip>=3560945434 AND $longip<=3560945434)
OR ($longip>=3560945438 AND $longip<=3560945438)
OR ($longip>=3560945459 AND $longip<=3560945459)
OR ($longip>=3560945473 AND $longip<=3560945473)
OR ($longip>=3560945477 AND $longip<=3560945477)
OR ($longip>=3560945588 AND $longip<=3560945591)
) {
return true;
}
break;
case 36:
if (($longip>=3632838400 AND $longip<=3632838431)
OR ($longip>=3659530240 AND $longip<=3659595775)
OR ($longip>=3659661312 AND $longip<=3659792383)
OR ($longip>=3667918848 AND $longip<=3668967423)
OR ($longip>=3669491712 AND $longip<=3669557247)
OR ($longip>=3669688320 AND $longip<=3669753855)
OR ($longip>=3671195648 AND $longip<=3671326719)
OR ($longip>=3678666752 AND $longip<=3678928895)
OR ($longip>=3679453184 AND $longip<=3679584255)
OR ($longip>=3679715328 AND $longip<=3679977471)
OR ($longip>=3680108544 AND $longip<=3680124927)
OR ($longip>=3680174080 AND $longip<=3680206847)
OR ($longip>=3699376128 AND $longip<=3700424703)
) {
return true;
}
break;
case 37:
if (($longip>=3701305344 AND $longip<=3701309439)
OR ($longip>=3705929728 AND $longip<=3706060799)
OR ($longip>=3707207680 AND $longip<=3707208703)
OR ($longip>=3715629056 AND $longip<=3715653631)
OR ($longip>=3718840320 AND $longip<=3718905855)
OR ($longip>=3734765568 AND $longip<=3734896639)
OR ($longip>=3740925952 AND $longip<=3741024255)
) {
return true;
}
break;
default:
return false;
}
return false;
}
侵删(我很期待作者联系我,让我崇拜下)
风吹吹蛋蛋疼风w
发表于 2021-3-17 20:56
扒了好久的仓库找到的orz,不知道还有没有OIer记得OI in Hand这个项目。
这应该是刚开始做PHP不满一年的时候写的,我早就忘了当时是怀着怎样的一种心情写下这些代码的。还有这垃圾代码风格。
前段时间做新版的时候,看到这段真想找个时光机回去砍人。
orz
伊索谗言
发表于 2021-3-17 20:56
隐私原因不贴了,但是遇过个别人好几次这种情况了。
别人github代码直接copy,把原作者声明全擦掉或者名字换成自己,然后注释全擦掉,所有主函数名换一下其他一动不动,然后堂而皇之地对外讲这是自己设计开发的...别人查还不容易查到出处,看他代码一行注释没有。
我觉得老司机不应该这样没下限,可还真遇过这样的人。
Gordon520
发表于 2021-3-17 20:59
解析服务器返回的用户资料,首先拿到的整个字符串返回值是一个完整html网页代码,根据标签解析提取出一段json字符串,提取json的某个值为xml字符串,再接着解析xml获取用户资料,这个代码是我写的,全是为了迎合我们后台的代码…我让他直接生成一种格式的数据而不是三种嵌套,但是他据然说他不会弄。。。。
无人岛屿颈
发表于 2021-3-17 21:02
大学的时候,有一次布置作业,是要求用C语言证明long int范围内的哥德巴赫猜想成立。
那会刚学编程,这个作业考察点就是遍历思想。
大多数做法就是素数打表然后每个数尝试减表内的数再判断结果是否在内。
但是有人代码是这样的:
#include<stdio.h>
int main()
{
puts(&#34;哥德巴赫猜想成立&#34;);
}
-
我还真找到当年这位仁兄发到QQ空间的说说了,代码有出入但就是这个意思:
顺带一说,我记错了,不是long int范围内,到10000就可以…瞎特么写都行。
-
这个回答开始只有第一部分,是我凭印象说的,后面图是后来找的,这么多年过去我凭印象说的肯定记不住诸如语言之类的细节啊=_=
hecgdge4
发表于 2021-3-17 21:08
char xxxx(char c){
if(char == &#39;a){
return &#39;A&#39;;
} else if (char == &#39;b&#39;){
return &#39;B&#39;;
}
...
}
462710480
发表于 2021-3-17 21:08
有几类代码比较恶心:
全局变量很多条件判断太复杂if-else以及各种嵌套太多太深函数太长,大几百行,几千行……
接下来举几个例子给大家感受下。
1)全局变量很多,类似这种:
char hfile_name, location, *ppm = NULL,
*gif = NULL, tzfile, units,
units_abbrv, tadjust_tzname;
char next_ht_text, next_ht_date, next_lt_text,
next_lt_date, *geometry = NULL, loadunits;
char *fgrise_color_arg = NULL, *fgfall_color_arg = NULL,
*fgtext_color_arg = NULL, *fgmark_color_arg = NULL,
*fgmllw_color_arg = NULL, *fgmiddle_color_arg = NULL;
int Usetadjust=0, Itadjust = 0, tadjust = 0, utc = 0, list = 0, checkyear = 0, text = 0, skinny = 0,
now = 0, graphmode = 0, httimeoff = 0, lttimeoff = 0, tstep = 180,
middle = 0, mark = 0, mllw = 0, lines = 1, PPMWIDTH = 960,
PPMHEIGHT = 300, hinc = 0, tinc = 0, loctz = 0, iscurrent = 0,
curonly = 0, toplines = 0, hincmagic = 0, calendar = 0, banner = 0,
weekday = 0, hairy = 0, linegraph = 0, ps = 0, noampm = 0, uutc = 0,
have_offsets = 0, Ihttimeoff = 0, Ilttimeoff = 0, newload = 0, subproc=1,OnlyTCD=0, datemdy=0, mapZoom=0;
double llevelmult = 1.0, hlevelmult = 1.0, Illevelmult = 1.0, Ihlevelmult = 1.0;
time_t next_ht = 0, prev_ht = 0, next_ht_adj = 0,
prev_ht_adj = 0, faketime = 0, epoch = 0, mark_time_adj = 0;
double amplitude = 0.0, htleveloff = 0.0, ltleveloff = 0.0, DATUM, marklev,
absmax = 0.0, absmin = 0.0, fakedatum = 0.0, fakeamplitude = 0.0,
Ihtleveloff = 0.0, Iltleveloff = 0.0;
double next_ht_amplitude, next_lt_amplitude; //mgh+
int num_epochs = 0, first_year = 0;
unit known_units = {{&#34;feet&#34;, &#34;ft&#34;, LENGTH, 0.3048},
{&#34;meters&#34;, &#34;m&#34;, LENGTH, 1.0},
{&#34;knots&#34;, &#34;kt&#34;, VELOCITY, 1.0},
{&#34;knots^2&#34;, &#34;kt^2&#34;, BOGUS, 1.0}};
/* Local variables */
static int year = 0, meridian = 0;
/* Tide-prediction storage -- cst == constituent */
static int num_csts = 0, num_nodes = 0;
static double *cst_speeds, **cst_epochs, **cst_nodes, *loc_amp, *loc_epoch,
*work;
这么多全局变量,看代码时,几乎一路都是懵逼的,要不断回来看变量的含义和初值。
2)条件判断太复杂,比如:
if ((sortnearest)
|| ( nItemIndex && (LB_ERR==(SendDlgItemMessage(hwnd, IDL_STATION, LB_SETCURSEL,
nItemIndex, 0L))))
|| (!nItemIndex && (LB_ERR==(SendDlgItemMessage(hwnd, IDL_STATION, LB_SELECTSTRING,
-1, (LPARAM) ((LPSTR) IDX_station_name))))) )
SendDlgItemMessage(hwnd, IDL_STATION, LB_SETCURSEL, 0, 0L);这种在判断条件里写各种各样的调用,小括号排长队,又各种折行,简直没法看。
3)嵌套层级太多,比如这种:
if (IndexFileIO(IFF_OPEN, 0)) {
while (IndexFileIO(IFF_READ, 0)) {
if ((index_line == &#39;#&#39;) || (index_line <= &#39; &#39;));// Skip comment lines
else if (!have_index && !xref_start) {
if (!strncmp(index_line, &#34;XREF&#34;, 4))
xref_start = IndexFileIO(IFF_TELL, 0);
}
else if (!have_index && !strncmp(index_line, &#34;*END*&#34;, 5)) {
if (num_abv == 0) {
IndexFileIO(IFF_CLOSE, 0);
return(FALSE); // missing at least some data so no valid index
}
if (doing_xref++ == 0) { // First pass through, flag for second pass
IndexFileIO(IFF_SEEK, xref_start); // Position back to start of index
// Allocate memory for the array
if (NULL==(abbreviation_list=
(abbreviation_entry **)malloc((num_abv+1)*sizeof(abbreviation_entry *)))) {
IndexFileIO(IFF_CLOSE, 0);
noMemErr(&#34;Index&#34;);
return(FALSE);
}
else {
for (i=0; i<=num_abv; i++)
if (NULL==(abbreviation_list = (abbreviation_entry *)
malloc(sizeof(abbreviation_entry)))) { // If we can&#39;t allocate..
free_abbreviation_list();
IndexFileIO(IFF_CLOSE, 0);
noMemErr(&#34;Index&#34;);
return(FALSE);
}
abbreviation_list->type = 0; // Flag final entry
abbreviation_list->short_s = NULL;
abbreviation_list->long_s= NULL;
num_abv = 0;
}
}if-else,while,for,各种语句疯狂嵌套,层次又多又深,几乎没法看。
4)函数太长,我见过400多行的,700多行的,2000多行的函数。可能还有的小伙伴见过几万行的函数。这很让人奔溃。
茉莉707
发表于 2021-3-17 21:15
我知道了这其实是一个黑历史贴...
很久很久很久之前,刚学编程一两个月,少不更事的时候写的五子棋AI的局势判断函数...我是怎么有耐心一行一行敲这么多的...
我印象里这AI还挺能打的...甚至赢了不少Alpha-Beta剪枝之流...
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
/*黑方白方各点评分函数*/
int suan(int i,int j,int qi,int n){
int f=0,nn;
nn=n%2;
if(qi<4)
return 0;
int h=0,s=0,z=0,y=0,jj,ii;
if(j!=14){
for(jj=j+1;jj<15;jj++){
if (qi==nn)
h++;
else break;
if(jj==14) break;
}
}
if(j!=0){
for(jj=j-1;jj>=0;jj--){
if(qi==nn)
h++;
else break;
if(jj==0) break;
}
}
if(h>3)
return 50000;/*横行获胜判断*/
if(i!=14){
for(ii=i+1;ii<15;ii++){
if (qi==nn)
s++;
else break;
if(ii==14) break;
}
}
if(i!=0){
for(ii=i-1;ii>=0;ii--){
if (qi==nn)
s++;
else break;
if(ii==0) break;
}
}
if(s>3)/*竖行获胜判断*/
return 50000;
if(i!=14&&j!=14){
for(jj=j+1,ii=i+1;jj<15&&ii<15;ii++,jj++){
if (qi==nn)
z++;
else break;
if(ii==14||jj==14) break;
}
}
if(i!=0&&j!=0){
for(jj=j-1,ii=i-1;ii>=0&&jj>=0;ii--,jj--){
if (qi==nn)
z++;
else break;
if(jj==0||ii==0) break;
}
}
if(z>3)
return 50000;/*左下斜获胜判断*/
if(i!=0&&j!=14){
for(jj=j+1,ii=i-1;ii>=0&&jj<15;ii--,jj++){
if (qi==nn)
y++;
else break;
if(ii==0||jj==14) break;
}
}
if(i!=14&&j!=0){
for(jj=j-1,ii=i+1;ii<15&&jj>=0;ii++,jj--){
if (qi==nn)
y++;
else break;
if(ii==14||jj==0) break;
}
}
if(y>3)
return 50000;/*右下斜获胜判断*/
if(i==0||i==14||j==0||j==14)
return 1;
/*竖向算分(活)*/
if(i<11){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<12&&i>1){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if((qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)||(qi>4&&qi==nn&&qi>4&&qi>4&&qi>4))
f=f+130;
if(qi>4&&qi>4&&qi>4&&qi==nn&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<13&&i>2){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+130;
if(qi>4&&qi==nn&&qi>4&&qi>4&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<14&&i>3){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<10){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<11&&i>1){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<12&&i>2){
if((qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<13&&i>3){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<14&&i>4){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
/*横向算分(活)*/
if(j<11){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(j<12&&j>1){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if((qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)||(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4))
f=f+130;
if(qi>4&&qi>4&&qi>4&&qi==nn&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(j<13&&j>2){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+130;
if(qi>4&&qi==nn&&qi>4&&qi>4&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(j<14&&j>3){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(j<10){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(j<11&&j>1){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(j<12&&j>2){
if((qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(j<13&&j>3){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
}
if(j<14&&j>4){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
/*左下斜向算分(活)*/
if(i<11&&j<11){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<12&&i>1&&j<12&&j>1){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if((qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)||(qi>4&&qi==nn&&qi>43&&qi>4&&qi>4))
f=f+130;
if(qi>4&&qi>4&&qi>4&&qi==nn&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<13&&i>2&&j<13&&j>2){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+130;
if(qi>4&&qi==nn&&qi>4&&qi>4&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<14&&i>3&&j<14&&j>3){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<10&&j<10){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<11&&i>1&&j<11&&j>1){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<12&&i>2&&j<12&&j>2){
if((qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<13&&i>3&&j<13&&j>3){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<14&&i>4&&j<14&&j>4){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
/*右下斜向算分(活)*/
if(i<11&&j>3){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<12&&i>1&&j<13&&j>2){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if((qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)||((qi>4&&qi==nn&&qi>4&&qi>4&&qi>4)))
f=f+130;
if(qi>4&&qi>4&&qi>4&&qi==nn&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<13&&i>2&&j<12&&j>1){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+130;
if(qi>4&&qi==nn&&qi>4&&qi>4&&qi>4)
f=f+120;
if(qi>4&&qi>4&&qi>4&&qi>4&&qi>4)
f=f+20;
}
if(i<14&&i>3&&j<11){
if(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi>4)
f=f+4320;
if((qi>4&&qi>4&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi>4&&qi>4)
||(qi>4&&qi==nn&&qi>4&&qi==nn&&qi>4)
||(qi!=nn&&qi==nn&&qi==nn&&qi==nn&&qi>4)
||(qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
if(qi>4&&qi>4&&qi==nn&&qi>4&&qi>4)
f=f+120;
}
if(i<10&&j>4){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<11&&i>1&&j<13&&j>3){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<12&&i>2&&j<12&&j>2){
if((qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<13&&i>3&&j<11&&j>1){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn))
f=f+720;
}
if(i<14&&i>4&&j<10){
if((qi!=nn&&qi==nn&&qi>4&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi>4&&qi==nn&&qi==nn&&qi==nn&&qi!=nn)
||(qi!=nn&&qi==nn&&qi==nn&&qi>4&&qi==nn&&qi!=nn))
f=f+720;
}
return f;
}
ps: 我是看到了这个回答:
你所见过最恶心的代码片段是怎样的? - 程生波的回答 - 知乎
你所见过最恶心的代码片段是怎样的?
才想起来我n年前也写过类似滚轮风格的代码...嗯记得应该还有运用一些自己推的定理来辅助枚举幻方的代码...那个已经找不到了,这个还是翻发件箱找到当年给C语言老师发的大作业邮件才翻出来的...
六翼天使494
发表于 2021-3-17 21:16
摘自工作室友人的一个项目,侵删。bluedazzle/Alinone · GitHub
1. 错误提示
{% if fault1 %}
<div class=&#34;alert alert-warning alert-dismissible&#34; role=&#34;alert&#34; style=&#34;text-align: center;margin-top:-20px;line-height: 1.1;&#34;>
<button type=&#34;button&#34; class=&#34;close&#34; data-dismiss=&#34;alert&#34; style=&#34;margin-top: -7px;&#34;><span aria-hidden=&#34;true&#34;>&times;</span><span class=&#34;sr-only&#34;>Close</span></button>
<strong style=&#34;font-size: 15px;&#34;>验证码过期!请重新获取</strong>
</div>
{% endif %}
{% if fault2 %}
<div class=&#34;alert alert-warning alert-dismissible&#34; role=&#34;alert&#34; style=&#34;text-align: center;margin-top:-20px;line-height: 1.1;&#34;>
<button type=&#34;button&#34; class=&#34;close&#34; data-dismiss=&#34;alert&#34; style=&#34;margin-top: -7px;&#34;><span aria-hidden=&#34;true&#34;>&times;</span><span class=&#34;sr-only&#34;>Close</span></button>
<strong style=&#34;font-size: 15px;&#34;>手机号已经被注册!请重新输入</strong>
</div>
{% endif %}
{% if fault3 %}
<div class=&#34;alert alert-warning alert-dismissible&#34; role=&#34;alert&#34; style=&#34;text-align: center;margin-top:-20px;line-height: 1.1;&#34;>
<button type=&#34;button&#34; class=&#34;close&#34; data-dismiss=&#34;alert&#34; style=&#34;margin-top: -7px;&#34;><span aria-hidden=&#34;true&#34;>&times;</span><span class=&#34;sr-only&#34;>Close</span></button>
<strong style=&#34;font-size: 15px;&#34;>验证码错误!请重新输入</strong>
</div>
分分钟就可以写出上万行的代码。
2. 输入校验
function submit_mes(){
if(!$(&#39;#phone&#39;).val()||!$(&#39;#password&#39;).val()||!$(&#39;#merchant_name&#39;).val()||!$(&#39;#verify&#39;).val()){
alert(&#34;请完善注册信息&#34;)
}
else if($(&#39;#password&#39;).val().length<6||$(&#39;#password&#39;).val().length>20){
alert(&#34;密码需为6~20位&#34;)
}
else if($(&#39;#phone&#39;).val().length!=11){
alert(&#34;请输入11位手机号码&#34;)
}
if($(&#39;#phone&#39;).val() && $(&#39;#password&#39;).val() && $(&#39;#merchant_name&#39;).val() && $(&#39;#verify&#39;).val() &&
$(&#39;#password&#39;).val().length>=6 && $(&#39;#password&#39;).val().length<=20 && $(&#39;#phone&#39;).val().length==11){
clearInterval(countdown);
localStorage.removeItem(&#39;r_time_count&#39;);
$(&#39;#form_mes&#39;).submit();
}
}
不知道看完会不会对 jQuery 有心理阴影。
3. 链接列表
<ul id=&#34;navigationMenu&#34; class=&#34;ul-nav-left&#34; style=&#34;padding-left: 0;padding-top: 2px;&#34;>
<li>
<a class=&#34;home&#34; href=&#34;operate_new&#34; role=&#34;button&#34; style=&#34;background-color: #bdc3c7&#34;>
未
<span id=&#34;order-count&#34; style=&#34;background: #ecf0f1;color: red;&#34;></span>
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_get&#34; role=&#34;button&#34; style=&#34;background-color: #1abc9c&#34;>
接
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_paisong&#34; role=&#34;button&#34; style=&#34;background-color: #16a085&#34;>
送
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_finish&#34; role=&#34;button&#34; style=&#34;background-color: #2ecc71&#34;>
完
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_delete&#34; role=&#34;button&#34; style=&#34;background-color: #e74c3c&#34;>
拒
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_today&#34; role=&#34;button&#34; style=&#34;background-color: #3498db&#34;>
统
</a>
</li>
<li>
<a class=&#34;home&#34; href=&#34;operate_history&#34; role=&#34;button&#34; style=&#34;background-color: #2980b9&#34;>
查
</a>
</li>
</ul>
一眼看过去以为是对联。
4. 前后端交互
<script>
if(sessionStorage[&#39;{{ item.order_id_alin }}&#39;]){
$(&#39;#n{{ item.order_id_alin }}&#39;).text(sessionStorage[&#39;{{ item.order_id_alin }}&#39;])
}
$(&#39;#i{{ item.order_id_alin }}&#39;).click(
function(){
var LODOP=getLodop();
if(localStorage[&#39;printer&#39;]){
var num = parseInt(localStorage[&#39;printer&#39;]);
LODOP.SET_PRINTER_INDEX(num);
}
var print_status = LODOP.PRINT_INIT(&#34;&#34;);
if(!print_status){
alert(&#34;打印机异常!&#34;);
return false
}
LODOP.SET_PRINT_PAGESIZE(3,5800,&#34;1mm&#34;,&#34;CreateCustomPage&#34;);
{# LODOP. ADD_PRINT_HTM (0,0, 300,100,&#34;<hr><font size=5>hello </font>&#34;);#}
LODOP.NEWPAGEA();
LODOP.ADD_PRINT_HTM(0,0,&#39;100%&#39;,&#39;70%&#39;,&#34;<h1>{{ item.phone }}</h1>&#34;
+&#34;<h3 style=\&#34;text-align: center;\&#34;>{{ item.merchant.name }}</h3>&#34;
+&#34;<p style=\&#34;font-size: 17px;\&#34;>订单号:{{ item.order_id_alin }}<br/>&#34;
+&#34; 送达时间: </br>&#34;
+&#34;{{ item.send_time|date:&#34;Y-m-d H:i:s&#34; }}<br/>&#34;
+&#34; 备注:{{ item.note }}<br/>&#34;
+&#34; 平台: <b>{{ item.platform }}({{ item.plat_num }})</b><br/>&#34;
+&#34; 菜单:<p/>&#34;
+&#34;--------------------------&#34;
{% for dish in item.dishs.all %}
+&#34; <p style=\&#34;font-size: 18px;\&#34;><b>{{ dish.dish_name }} &nbsp; {{ dish.dish_count }} 份 &nbsp;&nbsp; {{ dish.dish_price }}元/份</b></p>&#34;
{% endfor %}
+&#34;--------------------------&#34;
+&#34;<p style=\&#34;font-size: 17px;\&#34;>地址: {{ item.address }}<br/>&#34;
+&#34; 优惠: {{ item.promotion }}<br/>&#34;
+&#34; 电话: {{ item.phone }}<br/>&#34;
{% if item.pay == True %}
+&#34;付款:{{ item.real_price }}<b>(已付)</b></p>&#34;
{% else %}
+&#34;付款:{{ item.real_price }}<b>(未付)</b></p>&#34;
{% endif %}
+&#34;<img src=\&#34;/qrimg/{{ item.qr_path }}\&#34; style=\&#34;height: 130px;width: 130px;\&#34;>&#34;
+&#34;<br/>&#34;
+&#34;外卖到哪啦?我有查饭宝&#34;
+&#34;<br/>&#34;
+&#34;扫一扫及时获取外卖信息&#34;
+&#34;<br/>&#34;
+&#34;www.chafanbao.com&#34;
+&#34;<br/>&#34;
+&#34;==================<br/>&#34;);
if(localStorage.getItem(&#39;print_pages&#39;)){
var pages = parseInt(localStorage[&#39;print_pages&#39;]);
LODOP.SET_PRINT_COPIES(pages)
}
var print_req = LODOP.PRINT();
if(print_req){
if(sessionStorage[&#39;{{ item.order_id_alin }}&#39;]){
sessionStorage[&#39;{{ item.order_id_alin }}&#39;] = parseInt(sessionStorage[&#39;{{ item.order_id_alin }}&#39;]) + 1
}
else{
sessionStorage[&#39;{{ item.order_id_alin }}&#39;] = 1;
}
}
else{
alert(&#39;订单{{ item.order_id_alin }}打印失败!&#39;)
}
})
</script>
传说中的元编程,直接用 Django 模版来动态生成 JavaScript 代码。
5. CSS 引入
<style>
@import url(/css/bootstrap-datetimepicker.min.css);
</style>
神奇的组合方式有木有。