|
Юмор Знаешь анекдот!? Поделись! |
17.03.2013, 23:04
|
#1
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Приколы исходного кода
Бывает смотришь и удивляешься например от такого:
#ifndef Binary_h #define Binary_h
#define B0 0 #define B00 0 #define B000 0 #define B0000 0 #define B00000 0 #define B000000 0 #define B0000000 0 #define B00000000 0 #define B1 1 #define B01 1 #define B001 1 #define B0001 1 #define B00001 1 #define B000001 1 #define B0000001 1 #define B00000001 1 #define B10 2 #define B010 2 #define B0010 2 #define B00010 2 #define B000010 2 #define B0000010 2 #define B00000010 2 #define B11 3 #define B011 3 #define B0011 3 #define B00011 3 #define B000011 3 #define B0000011 3 #define B00000011 3 #define B100 4 #define B0100 4 #define B00100 4 #define B000100 4 #define B0000100 4 #define B00000100 4 #define B101 5 #define B0101 5 #define B00101 5 #define B000101 5 #define B0000101 5 #define B00000101 5 #define B110 6 #define B0110 6 #define B00110 6 #define B000110 6 #define B0000110 6 #define B00000110 6 #define B111 7 #define B0111 7 #define B00111 7 #define B000111 7 #define B0000111 7 #define B00000111 7 #define B1000 8 #define B01000 8 #define B001000 8 #define B0001000 8 #define B00001000 8 #define B1001 9 #define B01001 9 #define B001001 9 #define B0001001 9 #define B00001001 9 #define B1010 10 #define B01010 10 #define B001010 10 #define B0001010 10 #define B00001010 10 #define B1011 11 #define B01011 11 #define B001011 11 #define B0001011 11 #define B00001011 11 #define B1100 12 #define B01100 12 #define B001100 12 #define B0001100 12 #define B00001100 12 #define B1101 13 #define B01101 13 #define B001101 13 #define B0001101 13 #define B00001101 13 #define B1110 14 #define B01110 14 #define B001110 14 #define B0001110 14 #define B00001110 14 #define B1111 15 #define B01111 15 #define B001111 15 #define B0001111 15 #define B00001111 15 #define B10000 16 #define B010000 16 #define B0010000 16 #define B00010000 16 #define B10001 17 #define B010001 17 #define B0010001 17 #define B00010001 17 #define B10010 18 #define B010010 18 #define B0010010 18 #define B00010010 18 #define B10011 19 #define B010011 19 #define B0010011 19 #define B00010011 19 #define B10100 20 #define B010100 20 #define B0010100 20 #define B00010100 20 #define B10101 21 #define B010101 21 #define B0010101 21 #define B00010101 21 #define B10110 22 #define B010110 22 #define B0010110 22 #define B00010110 22 #define B10111 23 #define B010111 23 #define B0010111 23 #define B00010111 23 #define B11000 24 #define B011000 24 #define B0011000 24 #define B00011000 24 #define B11001 25 #define B011001 25 #define B0011001 25 #define B00011001 25 #define B11010 26 #define B011010 26 #define B0011010 26 #define B00011010 26 #define B11011 27 #define B011011 27 #define B0011011 27 #define B00011011 27 #define B11100 28 #define B011100 28 #define B0011100 28 #define B00011100 28 #define B11101 29 #define B011101 29 #define B0011101 29 #define B00011101 29 #define B11110 30 #define B011110 30 #define B0011110 30 #define B00011110 30 #define B11111 31 #define B011111 31 #define B0011111 31 #define B00011111 31 #define B100000 32 #define B0100000 32 #define B00100000 32 #define B100001 33 #define B0100001 33 #define B00100001 33 #define B100010 34 #define B0100010 34 #define B00100010 34 #define B100011 35 #define B0100011 35 #define B00100011 35 #define B100100 36 #define B0100100 36 #define B00100100 36 #define B100101 37 #define B0100101 37 #define B00100101 37 #define B100110 38 #define B0100110 38 #define B00100110 38 #define B100111 39 #define B0100111 39 #define B00100111 39 #define B101000 40 #define B0101000 40 #define B00101000 40 #define B101001 41 #define B0101001 41 #define B00101001 41 #define B101010 42 #define B0101010 42 #define B00101010 42 #define B101011 43 #define B0101011 43 #define B00101011 43 #define B101100 44 #define B0101100 44 #define B00101100 44 #define B101101 45 #define B0101101 45 #define B00101101 45 #define B101110 46 #define B0101110 46 #define B00101110 46 #define B101111 47 #define B0101111 47 #define B00101111 47 #define B110000 48 #define B0110000 48 #define B00110000 48 #define B110001 49 #define B0110001 49 #define B00110001 49 #define B110010 50 #define B0110010 50 #define B00110010 50 #define B110011 51 #define B0110011 51 #define B00110011 51 #define B110100 52 #define B0110100 52 #define B00110100 52 #define B110101 53 #define B0110101 53 #define B00110101 53 #define B110110 54 #define B0110110 54 #define B00110110 54 #define B110111 55 #define B0110111 55 #define B00110111 55 #define B111000 56 #define B0111000 56 #define B00111000 56 #define B111001 57 #define B0111001 57 #define B00111001 57 #define B111010 58 #define B0111010 58 #define B00111010 58 #define B111011 59 #define B0111011 59 #define B00111011 59 #define B111100 60 #define B0111100 60 #define B00111100 60 #define B111101 61 #define B0111101 61 #define B00111101 61 #define B111110 62 #define B0111110 62 #define B00111110 62 #define B111111 63 #define B0111111 63 #define B00111111 63 #define B1000000 64 #define B01000000 64 #define B1000001 65 #define B01000001 65 #define B1000010 66 #define B01000010 66 #define B1000011 67 #define B01000011 67 #define B1000100 68 #define B01000100 68 #define B1000101 69 #define B01000101 69 #define B1000110 70 #define B01000110 70 #define B1000111 71 #define B01000111 71 #define B1001000 72 #define B01001000 72 #define B1001001 73 #define B01001001 73 #define B1001010 74 #define B01001010 74 #define B1001011 75 #define B01001011 75 #define B1001100 76 #define B01001100 76 #define B1001101 77 #define B01001101 77 #define B1001110 78 #define B01001110 78 #define B1001111 79 #define B01001111 79 #define B1010000 80 #define B01010000 80 #define B1010001 81 #define B01010001 81 #define B1010010 82 #define B01010010 82 #define B1010011 83 #define B01010011 83 #define B1010100 84 #define B01010100 84 #define B1010101 85 #define B01010101 85 #define B1010110 86 #define B01010110 86 #define B1010111 87 #define B01010111 87 #define B1011000 88 #define B01011000 88 #define B1011001 89 #define B01011001 89 #define B1011010 90 #define B01011010 90 #define B1011011 91 #define B01011011 91 #define B1011100 92 #define B01011100 92 #define B1011101 93 #define B01011101 93 #define B1011110 94 #define B01011110 94 #define B1011111 95 #define B01011111 95 #define B1100000 96 #define B01100000 96 #define B1100001 97 #define B01100001 97 #define B1100010 98 #define B01100010 98 #define B1100011 99 #define B01100011 99 #define B1100100 100 #define B01100100 100 #define B1100101 101 #define B01100101 101 #define B1100110 102 #define B01100110 102 #define B1100111 103 #define B01100111 103 #define B1101000 104 #define B01101000 104 #define B1101001 105 #define B01101001 105 #define B1101010 106 #define B01101010 106 #define B1101011 107 #define B01101011 107 #define B1101100 108 #define B01101100 108 #define B1101101 109 #define B01101101 109 #define B1101110 110 #define B01101110 110 #define B1101111 111 #define B01101111 111 #define B1110000 112 #define B01110000 112 #define B1110001 113 #define B01110001 113 #define B1110010 114 #define B01110010 114 #define B1110011 115 #define B01110011 115 #define B1110100 116 #define B01110100 116 #define B1110101 117 #define B01110101 117 #define B1110110 118 #define B01110110 118 #define B1110111 119 #define B01110111 119 #define B1111000 120 #define B01111000 120 #define B1111001 121 #define B01111001 121 #define B1111010 122 #define B01111010 122 #define B1111011 123 #define B01111011 123 #define B1111100 124 #define B01111100 124 #define B1111101 125 #define B01111101 125 #define B1111110 126 #define B01111110 126 #define B1111111 127 #define B01111111 127 #define B10000000 128 #define B10000001 129 #define B10000010 130 #define B10000011 131 #define B10000100 132 #define B10000101 133 #define B10000110 134 #define B10000111 135 #define B10001000 136 #define B10001001 137 #define B10001010 138 #define B10001011 139 #define B10001100 140 #define B10001101 141 #define B10001110 142 #define B10001111 143 #define B10010000 144 #define B10010001 145 #define B10010010 146 #define B10010011 147 #define B10010100 148 #define B10010101 149 #define B10010110 150 #define B10010111 151 #define B10011000 152 #define B10011001 153 #define B10011010 154 #define B10011011 155 #define B10011100 156 #define B10011101 157 #define B10011110 158 #define B10011111 159 #define B10100000 160 #define B10100001 161 #define B10100010 162 #define B10100011 163 #define B10100100 164 #define B10100101 165 #define B10100110 166 #define B10100111 167 #define B10101000 168 #define B10101001 169 #define B10101010 170 #define B10101011 171 #define B10101100 172 #define B10101101 173 #define B10101110 174 #define B10101111 175 #define B10110000 176 #define B10110001 177 #define B10110010 178 #define B10110011 179 #define B10110100 180 #define B10110101 181 #define B10110110 182 #define B10110111 183 #define B10111000 184 #define B10111001 185 #define B10111010 186 #define B10111011 187 #define B10111100 188 #define B10111101 189 #define B10111110 190 #define B10111111 191 #define B11000000 192 #define B11000001 193 #define B11000010 194 #define B11000011 195 #define B11000100 196 #define B11000101 197 #define B11000110 198 #define B11000111 199 #define B11001000 200 #define B11001001 201 #define B11001010 202 #define B11001011 203 #define B11001100 204 #define B11001101 205 #define B11001110 206 #define B11001111 207 #define B11010000 208 #define B11010001 209 #define B11010010 210 #define B11010011 211 #define B11010100 212 #define B11010101 213 #define B11010110 214 #define B11010111 215 #define B11011000 216 #define B11011001 217 #define B11011010 218 #define B11011011 219 #define B11011100 220 #define B11011101 221 #define B11011110 222 #define B11011111 223 #define B11100000 224 #define B11100001 225 #define B11100010 226 #define B11100011 227 #define B11100100 228 #define B11100101 229 #define B11100110 230 #define B11100111 231 #define B11101000 232 #define B11101001 233 #define B11101010 234 #define B11101011 235 #define B11101100 236 #define B11101101 237 #define B11101110 238 #define B11101111 239 #define B11110000 240 #define B11110001 241 #define B11110010 242 #define B11110011 243 #define B11110100 244 #define B11110101 245 #define B11110110 246 #define B11110111 247 #define B11111000 248 #define B11111001 249 #define B11111010 250 #define B11111011 251 #define B11111100 252 #define B11111101 253 #define B11111110 254 #define B11111111 255
#endif
или
#if !defined(UART0_UDRE_vect) && !defined(UART_UDRE_vect) && !defined(USART0_UDRE_vect) && !defined(USART_UDRE_vect) #error "Don't know what the Data Register Empty vector is called for the first UART" #else
|
(Offline)
|
|
17.03.2013, 23:54
|
#2
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Приколы исходного кода
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.03.2013, 00:33
|
#3
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Приколы исходного кода
Помню где-то (вроде на лурке) видал пример C++ класса(по-моему, "динамического массива"), который предусматривал все 100 конструкторов (в каждом было параметров больше на 1, чем в предыдущем) для создания массивов различной длины, от 0 до 100, соответственно. Вот то был хардкор))))
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.03.2013, 00:45
|
#4
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Приколы исходного кода
Магия #Define (осторожно, маты)
Истинный быдлокод
|
(Offline)
|
|
Эти 8 пользователя(ей) сказали Спасибо Nerd за это полезное сообщение:
|
|
19.03.2013, 19:10
|
#5
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Приколы исходного кода
Сообщение от Nerd
Магия #Define (осторожно, маты)
Истинный быдлокод
|
Когда третий час не можешь выявить причину бага, появляется желание общаться с компилятором именно так.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо PassCall за это полезное сообщение:
|
|
19.10.2015, 12:54
|
#6
|
Знающий
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений (для 229 пользователей)
|
Ответ: Приколы исходного кода
для медитаций:
boolean b; if ( b.toString().length <5 ) { .... }
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо EvilOkta за это полезное сообщение:
|
|
19.10.2015, 16:26
|
#7
|
Бывалый
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений (для 995 пользователей)
|
Ответ: Приколы исходного кода
Сообщение от EvilOkta
для медитаций:
boolean b; if ( b.toString().length <5 ) { .... }
|
Условие никогда не выполнится, т.к. b = false.
|
(Offline)
|
|
19.10.2015, 16:40
|
#8
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Приколы исходного кода
Сообщение от Andvrok
Условие никогда не выполнится, т.к. b = false.
|
Не верно.
true.toString() === 'true'; false.toString() === 'false'; 'true'.length < 5 === true; 'false'.length < 5 === false;
Его выражение на самом деле проверка на true:
|
(Offline)
|
|
19.10.2015, 16:43
|
#9
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Приколы исходного кода
Сообщение от Andvrok
Условие никогда не выполнится, т.к. b = false.
|
Скорее будет ошибка variable has not been initialized, если ты про это.
|
(Offline)
|
|
19.10.2015, 17:45
|
#10
|
Бывалый
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений (для 995 пользователей)
|
Ответ: Приколы исходного кода
Сообщение от moka
Не верно.
true.toString() === 'true'; false.toString() === 'false'; 'true'.length < 5 === true; 'false'.length < 5 === false;
Его выражение на самом деле проверка на true:
|
Я про то, что никто этой переменной значение не присвоил.
UPD: Nerd прав.
|
(Offline)
|
|
19.10.2015, 17:51
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Приколы исходного кода
Зависит от языка.
Я это воспринял как псевдокод. В JS он будет таким:
var b = Boolean(); console.log(b); if(b.toString() < 5) { console.log("true"); } else { console.log("false"); }
И будет работать как полагается.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.10.2015, 18:41
|
#12
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Приколы исходного кода
Согласен с moka: очевидно, что нам просто указали на тип переменной, чтобы мы оценил весь "масштаб" задумки, а не указали на то, что она сразу без присвоения значения подаётся в условный блок.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
19.10.2015, 19:33
|
#13
|
Бывалый
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений (для 995 пользователей)
|
Ответ: Приколы исходного кода
Так-то я с вами согласен. Однако, когда я этот кусок кода показывал коллеге, он решил доебаться (в шутку) именно до этого момента, что переменная неицилизированная, поэтому, когда я увидел этот кусок здесь, я вспомнил тот случай и решил повторить успех. Видимо, не удалось.
|
(Offline)
|
|
19.10.2015, 20:12
|
#14
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Приколы исходного кода
Ну то что переменная не инициализированная, было на столь очевидно, что я проигнорировал этот факт.
Трюк тут как бы есть, да, зависит какого кодера спрашиваешь (ЯП), но тот кто пропустит первую строку и побежит смотреть само условие, покажет свою невнимательность
|
(Offline)
|
|
20.10.2015, 11:24
|
#15
|
Знающий
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений (для 229 пользователей)
|
Ответ: Приколы исходного кода
хардкорные программисты даже в юморе ищут баги ))
мне просто понравилась "глубина" замысла )
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:54.
|