- 1
http://habrahabr.ru/post/172015/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+167
http://habrahabr.ru/post/172015/
Наш клиент.
Не смотря на заголовок статьи, он упёрся в ограничение на количество параметров в функции.
−106
NSString *locString = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@%@%@%@%@%@", model.QRCodeInfo.hostName, @"/get_menus.json?user_id=", model.QRCodeInfo.userId , @"&area_id=", model.QRCodeInfo.areaId, @"&lat=23.197927", @"&long=-50.938111", @"&nick=", model.QRCodeInfo.nickName, @"&uid=", model.QRCodeInfo.udid, @"&host_name=", model.QRCodeInfo.hostName];
Конкатенация по-пакистански
+115
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication49
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите 16-ричное число(не более 32 знаков)");
string s = Console.ReadLine();
string result = "";
string t = "123456789abcdef0";
int i = 0;
char[] a = new char[32];
a = s.ToCharArray();
char[] b = new char[16];
b = t.ToCharArray();
while (i<a.Length)
{
if (a[i] != b[0]) ; else result += "0001";
if (a[i] != b[1]) ; else result += "0010";
if (a[i] != b[2]) ; else result += "0011";
if (a[i] != b[3]) ; else result += "0100";
if (a[i] != b[4]) ; else result += "0101";
if (a[i] != b[5]) ; else result += "0110";
if (a[i] != b[6]) ; else result += "0111";
if (a[i] != b[7]) ; else result += "1000";
if (a[i] != b[8]) ; else result += "1001";
if (a[i] != b[9]) ; else result += "1010";
if (a[i] != b[10]) ; else result += "1011";
if (a[i] != b[11]) ; else result += "1100";
if (a[i] != b[12]) ; else result += "1101";
if (a[i] != b[13]) ; else result += "1110";
if (a[i] != b[14]) ; else result += "1111";
if (a[i] != b[15]) ; else result += "0000";
i++;
};
Console.WriteLine("{0} в двоичном виде выглядит так {1}",s,result);
Console.ReadKey();
}
}
}
Перевод из 16ричной в двоичную СС
+127
Название: Регистрация заказчика.
Основное действующее лицо: Менеджеру по работе с заказчиками
Область действия: Система
Уровень: Пользователя
Минимальные гарантии: Система останется в рабочем состоянии
Гарантии успеха: Клиент загеристрирован
Триггер: Клиент обратился к менеджеру по работе с заказчиками с просьбой зарегистрироваться
Основной сценарий:
1. Клиент обращается к менеджеру по работе с заказчиками, менеджер открывает регистрацию, система запоминает.
2. Менеджер по работе с заказчиками запрашивает у клиента, имя, клиент сообщает имя, менеджер вводит имя в соответвующую форму, система запоминает.
3. Менеджер по работе с заказчиками запрашивает у клиента, отчество, клиент сообщает отчество, менеджер вводит отчество в соответвующую форму, система запоминает.
4. Менеджер по работе с заказчиками запрашивает у клиента, фамилию, клиент сообщает фамилию, менеджер вводит фамилию в соответвующую форму, система запоминает.
5. Менеджер по работе с заказчиками запрашивает у клиента, номер паспорта, клиент сообщает номер паспорта, менеджер вводит номер паспорта пв соответвующую форму, система подтверждает правильность номера паспорта.
6. Менеджер по работе с заказчиками запрашивает у клиента, дату выдачи паспорта, клиент сообщает дату выдачи паспорта, менеджер вводит дату выдачи паспорта в соответвующую форму, система подтверждает.
7. Менеджер по работе с заказчиками запрашивает у клиента, контактный номер, клиент сообщает контактный номер, менеджер вводит контактный номер в соответвующую форму, система подтверждает.
8. Менеджер по работе с заказчиками закрывает регистрацию, система сохраняет информацию о клиенте и подтверждает успешность регистрации.
Альтернативы:
5.а. Введен неверный номер паспорта.
1. Система сообщает об ошибке
2. Переход к пункту 5 основного сценария.
6.а. Клиент уже зарегистрирован.
1. Система сообщает об ошибке.
Моя боль...
+107
// define types
const int FB2 = 0;
const int TXT = 1;
// private
private int Type;
…
// class methods
public CVBook(string path, string type) {
switch(type)
{
case "fb2":
{
Type = 0;
}
break;
case "txt":
{
Type = 1;
}
break;
default:
{
throw new Exception("Unknown Book Format");
}
}
…
switch (Type) {
case FB2: { … }
case TXT: { … }
default:
{
throw new Exception("Unknown Book Format");
}
}
}
}
Парсер книг, все в одном методе.
+53
protected function CreateClass($className, $params) {
switch (count($params)) {
case 0:
return new $className();
break;
case 1:
return new $className($params[0]);
break;
case 2:
return new $className($params[0], $params[1]);
break;
case 3:
return new $className($params[0], $params[1], $params[2]);
break;
case 4:
return new $className($params[0], $params[1], $params[2], $params[3]);
break;
case 5:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4]);
break;
case 6:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5]);
break;
case 7:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6]);
break;
case 8:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7]);
break;
case 9:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8]);
break;
case 10:
return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8], $params[9]);
break;
default:
echo "Too many arguments";
return null;
break;
}
}
Продолжение одного нашумевшего блокбастера: Радж и "шоколадная" фабрика.
Исходники взяты из компонента JEvents для Joomla. Файл из папки "icalevent". Думаю что стоит сделать акцент на iCAL, есть в этом что-то особенное.
+27
#define говно NULL
#define нихуя void
#define факт bool
#define хуёво false
#define пиздато true
#define цифра int
#define число float
#define базар char
#define ТамГде *
#define типа {
#define ёба }
#define это =
#define сука ==
#define и &&
#define или ||
#define чатко const
#define базарь cout<<
#define спроси cin>>
#define блять ;
#define то )
#define иначе else
#include <iostream>
using namespace std;
нихуя main()
типа
факт Semki блять
базарь "Семки есть,, ёба? /n" блять
спроси Semki блять
если Semki сука пиздато то
типа
базарь "Красава" блять
ёба
иначе
типа
базарь "Нарываешься, сука? /n" блять
ёба
ёба
Быдло-код!
+32
static_cast<SomeOtherClass>(this)->SomeMethod();
Чуваки лучше знают, что у них в this
+168
var IE = '\v'=='v';
if(IE) {
// тут пишем обработчик для IE броузера
}
Самый короткий способ определения браузера IE (влючая IE.8)
+124
[2012-07-17 15:01:19] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
[2012-07-17 15:38:41] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
[2012-07-17 15:53:21] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
[2012-07-17 16:12:18] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
[2012-07-17 16:25:06] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
[2012-07-17 16:40:48] emulator-5554 disconnected! Cancelling 'android.app.NativeActivity activity launch'!
http://startandroid.ru/uroki/vse-uroki-spiskom/12-urok-3-sozdanie-avd-pervoe-prilozhenie-struktura-android-proekta.html
Если не получилось запустить и Eclipse вывел в консоль подобное сообщение: "emulator-5554 disconnected! Cancelling 'ru.startandroid.develop.OurFirstProject .MainAct activity launch'!" - то закройте эмулятор, и попробуйте снова. Если снова не получилось. перезапустите Eclipse. Если опять нет - ребутнитесь. Если и сейчас не работает, удалите AVD и создайте новый. В итоге должно заработать, пусть и не с первой попытки.
Главное - после запуска приложения (CTRL+F11) старайтесь совершать как можно меньше движений на компе. Я заметил четкую тенденцию - если во время запуска переключаться между различными окнами, то эмулятор запускается криво. А если просто посидеть и подождать минутку - то все ок. Ну и надо чтоб при этом не было включено какое-нить кодирование видео или прочие, нагружающие систему процедуры.
Если не получилось, попробуйте ещё раз...
Если снова не получилось, попробуйте ещё раз...
Если снова не получилось, попробуйте ещё раз...
Если снова не получилось, попробуйте ещё раз...
Если снова не получилось, попробуйте ещё раз...
Если снова не получилось, попробуйте ещё раз...