- 1
http://www.businessinsider.com/the-russian-internet-thinks-putin-is-dead-2015-3
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+120
http://www.businessinsider.com/the-russian-internet-thinks-putin-is-dead-2015-3
политота
−170
CREATE TABLE `static_answers` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`question_id` int(11) unsigned NOT NULL,
`title` varchar(255) NOT NULL,
`is_correct` enum('0','1') NOT NULL,
`created_at` int(11) unsigned NOT NULL,
`updated_at` int(11) unsigned NOT NULL,
`hits` int(10) unsigned NOT NULL DEFAULT '0',
...
)
Смотрим объявление поля is_correct
... Взорвали мозг пытаясь понять, почему: ожидаемый chance = (!фактический chance) в запросе:
SELECT
a.`id`, is_correct, IF(`is_correct`, 1, 0) chance
FROM `static_answers` a
WHERE q.`id` = 3268
+128
#include <stdio.h>
int main()
{
int i,g;
char a[26];
a[0]='a';
a[1]='b';
a[2]='c';
a[3]='d';
a[4]='e';
a[5]='f';
a[6]='g';
a[7]='h';
a[8]='i';
a[9]='j';
a[10]='k';
a[11]='l';
a[12]='m';
a[13]='n';
a[14]='o';
a[15]='p';
a[16]='q';
a[17]='r';
a[18]='s';
a[19]='t';
a[20]='u';
a[21]='v';
a[22]='w';
a[23]='x';
a[24]='y';
a[25]='z';
for(i=0;i<25;i++)
{
for(g=0;g<i+1;g++)
{
printf("%c",a[g]);
}
if(g!=25)
printf("\n");
}
return 0;
}
К предыдущему коду.
+145
#include <stdio.h>
int main (void)
{
printf("a");
printf("\n");
printf("ab");
printf("\n");
printf("abc");
printf("\n");
printf("abcd");
printf("\n");
printf("abcde");
printf("\n");
printf("abcdef");
printf("\n");
printf("abcdefg");
printf("\n");
printf("abcdefgh");
printf("\n");
printf("abcdefghi");
printf("\n");
printf("abcdefghig");
printf("\n");
printf("abcdefghigk");
printf("\n");
printf("abcdefghigkl");
printf("\n");
printf("abcdefghigklm");
printf("\n");
printf("abcdefghigklmn");
printf("\n");
printf("abcdefghigklmno");
printf("\n");
printf("abcdefghigklmnop");
printf("\n");
printf("abcdefghigklmnopq");
printf("\n");
printf("abcdefghigklmnopqr");
printf("\n");
printf("abcdefghigklmnopqrs");
printf("\n");
printf("abcdefghigklmnopqrst");
printf("\n");
printf("abcdefghigklmnopqrstu");
printf("\n");
printf("abcdefghigklmnopqrstuv");
printf("\n");
printf("abcdefghigklmnopqrstuvw");
printf("\n");
printf("abcdefghigklmnopqrstuvwx");
printf("\n");
printf("abcdefghigklmnopqrstuvwxy");
printf("\n");
printf("abcdefghigklmnopqrstuvwxyz");
printf("\n");
return 0;
}
+161
<?
// ...
preg_match('/^[0-9]{1,}$/', $value) // positive integer
|| ( // or negative integer
(substr($value, 0, 1) === '-')
&& preg_match('/^[0-9]{1,}$/', substr($value, 1))
)
?>
В битриксе так и не выучили регулярки..
+132
public static string DownloadString(string Url, bool UnZip = false)
{
var v = Configs.Instance.MainURL + Url;
if (!CheckOnServer(v))
return "";
using (var wb = new WebClient())
{
if (UnZip)
v = Encoding.UTF8.GetString(IoUtils.UnZip(wb.DownloadData(v)));
else
v = wb.DownloadString(v);
if (v.StartsWith(((char)65279).ToString())) v = v.Substring(1);//utf8 header -_-
}
return v;
}
+135
#define CONC_LINE(a) CONC(a, __LINE__)
#define CONC(a, b) __CONC(a, b)
#define __CONC(a, b) a##b
// ...
int CONC_LINE(name);
Способ присовокупить к названию переменной номер строки, где её объявили.
Объясните кто-нибудь, почему #define CONC_LINE (a) __CONC ( a, __LINE__ ) дает: name__LINE__?
+145
/* */
int fooBar() {
/* do something */
/* - */ return NULL;
/* + */ return 0ULL;
}
> src/foobar.c:42:3: warning: return makes integer from pointer without a cast
> return NULL;
П О Ч И Н Е Н О
+1
// Не очень красивое решение. Но зато можно не выставлять в паблик всякие кишочки
private void SetValueToPrivateField<Type>(Type instance, string field, object value) {
if (instance != null) {
FieldInfo fieldInfo = typeof(Type).GetField(
field,
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic
);
if (fieldInfo != null) {
fieldInfo.SetValue(instance, value);
}
}
}
Публичный сеттер нарушит инкапсуляцию, поэтому будем использовать рефлексию
"Мне нельзя ничего есть, поэтому я вставлю себе трубку прямо в живот и буду при необходимости заливать прямо туда. Но есть не буду"
+1
if (bonusA is RuneBonusLine && bonusB is RuneBonusLine) {
Mix(bonusA as RuneBonusLine, bonusB as RuneBonusLine);
} else if (bonusA is RuneBonusBomb && bonusB is RuneBonusBomb) {
Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusBomb);
} else if (bonusA is RuneBonusBomb && bonusB is RuneBonusLine) {
Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusLine);
} else if (bonusB is RuneBonusBomb && bonusA is RuneBonusLine) {
Mix(bonusB as RuneBonusBomb, bonusA as RuneBonusLine);
}
Is/As Oriented Programming