- 1
- 2
- 3
- 4
- 5
- 6
// заполнение массива случайными числами
template <typename T> void fill_array_with_random( T array[], size_t length ) {
for ( size_t i = 0; i < length; i++ ) {
array[i] = rand();
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+20
// заполнение массива случайными числами
template <typename T> void fill_array_with_random( T array[], size_t length ) {
for ( size_t i = 0; i < length; i++ ) {
array[i] = rand();
}
}
Главный недостаток - K&R indent style.
+162
try {
chrome.tabs.update(tabInfo.tabId, {"active" : true}); // chrome 15+
} catch (e) {
chrome.tabs.update(tabInfo.tabId, {"selected" : true}); // older
}
Это ни капли не говнокод. Это - результат breaking changes в chrome.tabs API, про которое нигде не написали и из-за которого ваши расширения для Chrome, использующие chrome.tabs API могут запросто не работать в относительно старых версиях Chrome. При том, что заявлена поддержка Chrome 9+. Из-за такого странного подхода приходится городить такие конструкции, которые выглядят как непонятный говнокод для непосвященных людей.
+77
public static boolean isNull(Collection collection) {
return collection == null;
}
−155
override public function execute():void
{
var maintainProductAttributePresenter:ITableBasedPresentrer = this.appPresenter.maintainProductAttributePresenter;
var maintainProductAttributeView:View = maintainProductAttributePresenter.view;
this.appView.showModuleView(maintainProductAttributeView);
this.appView.showModuleHeader(maintainProductAttributePresenter.getModuleTitle());
maintainProductAttributePresenter.updateData();
}
Сижу, копипазжу... Специально не стала выбиваться из стандарта... Может хоть на секунду мысль о том что мы занимаемся маразмом кому нибудь в голову придет?
−32
Fixed& operator +=(Fixed a) { return *this = *this + a; return *this; }
Fixed& operator -=(Fixed a) { return *this = *this - a; return *this; }
Fixed& operator *=(Fixed a) { return *this = *this * a; return *this; }
Fixed& operator /=(Fixed a) { return *this = *this / a; return *this; }
http://wiki.yak.net/675/fixed.h
посоны, зачем так сделано?
−116
ВЫБОР
КОГДА ПолФизическихЛиц.Ссылка = "Женский"
ТОГДА "М"
ИНАЧЕ "Ж"
КОНЕЦ
Вот такой вот забавный запрос
−85
if ([stringMonth isEqualToString:NSLocalizedString(@"M1", nil)]) {
stringMonth = @"01";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M2", nil)]) {
stringMonth = @"02";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M3", nil)]) {
stringMonth = @"03";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M4", nil)]) {
stringMonth = @"04";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M5", nil)]) {
stringMonth = @"05";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M6", nil)]) {
stringMonth = @"06";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M7", nil)]) {
stringMonth = @"07";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M8", nil)]) {
stringMonth = @"08";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M9", nil)]) {
stringMonth = @"09";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M10", nil)]) {
stringMonth = @"10";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M11", nil)]) {
stringMonth = @"11";}
else if ([stringMonth isEqualToString:NSLocalizedString(@"M12", nil)]) {
stringMonth = @"12";}
Как-то так, че.
−46
board.moveBuffer[index++].moveInt = move.moveInt;
Вырвал из контекста.
board и move - глобальные переменные.
index - единственный параметр в монолитной функции длиной в 500 строк (я не преувеличиваю).
+61
if (is_page('orders_item')) {
die ("<meta http-equiv='refresh' content='0; url=".$base_url."/orders_item.php?pid=".$_GET['pid']."'>");
} elseif (is_page('orders_garant')) {
die ("<meta http-equiv='refresh' content='0; url=".$base_url."/orders_garant.php?pid=".$_GET['pid']."'>");
} else {
die ("<meta http-equiv='refresh' content='0; url=".$base_url."/orders_item.php?pid=".$_GET['pid']."'>");
}
exit();
Хоть опросник пиши:
- чем первый die() отличается от последнего?
- почему их 3?
- кто будет экранировать $_GET?
- зачем в конце exit() подпирает die()?
−42
int main(int argc, char *argv[])
{
int i = 0;
char stuffing[36];
for (i = 0; i <= 32; i += 4)
*(long *) &stuffing = 0x8048374 ;
puts(stuffing);
return 0;
}
Имея какую-либо прогу с принтфами и сканфами. имея уязвимости этих функций, мы с помощью программы, скомпилированной с этим кодом, произведем атаку на адрес 0x8048374. по этому адресу в программе - оппоненте находится точка входа в функцию, где происходит ввод строки(scanf'ом). введя строку, программа-атакер не даст выйти из функции и снова ударит по адресу входа и так далее....зацикливание.
Это лаба по анализу уязвимостей по. вот не пойму только - 8 раз пройдет цикл, и по идее должен завершиться код, но помню когда делал лабу - сканф вызывался бесконечно при атаке. еще ужасная 7я строка создает жуткое впечатление ничегонепонимания )