- 1
if (!$user->Auth) !$_POST['name'] ? $errors[] = 'Вы не ввели свое имя' : $name = SafeEnv($_POST['name'], 200, str);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+44
if (!$user->Auth) !$_POST['name'] ? $errors[] = 'Вы не ввели свое имя' : $name = SafeEnv($_POST['name'], 200, str);
+162
.replace(/😊/g,'<img src="http://vk.com/images/emoji/D83DDE0A.png">')
.replace(/😃/g,'<img src="http://vk.com/images/emoji/D83DDE03.png">')
.replace(/😆/g,'<img src="http://vk.com/images/emoji/D83DDE06.png">')
.replace(/😉/g,'<img src="http://vk.com/images/emoji/D83DDE09.png">')
.replace(/😜/g,'<img src="http://vk.com/images/emoji/D83DDE1C.png">')
.replace(/😋/g,'<img src="http://vk.com/images/emoji/D83DDE0B.png">')
.replace(/ðŸ˜/g,'<img src="http://vk.com/images/emoji/D83DDE0D.png">')
.replace(/😎/g,'<img src="http://vk.com/images/emoji/D83DDE0E.png">')
.replace(/😒/g,'<img src="http://vk.com/images/emoji/D83DDE12.png">')
.replace(/ðŸ˜/g,'<img src="http://vk.com/images/emoji/D83DDE0F.png">')
.replace(/😔/g,'<img src="http://vk.com/images/emoji/D83DDE14.png">')
.replace(/😢/g,'<img src="http://vk.com/images/emoji/D83DDE22.png">')
.replace(/ðŸ˜/g,'<img src="http://vk.com/images/emoji/D83DDE2D.png">')
.replace(/😩/g,'<img src="http://vk.com/images/emoji/D83DDE29.png">')
.replace(/😨/g,'<img src="http://vk.com/images/emoji/D83DDE28.png">')
.replace(/ðŸ˜/g,'<img src="http://vk.com/images/emoji/D83DDE10.png">')
.replace(/😌/g,'<img src="http://vk.com/images/emoji/D83DDE0C.png">')
.replace(/😠/g,'<img src="http://vk.com/images/emoji/D83DDE20.png">')
.replace(/😡/g,'<img src="http://vk.com/images/emoji/D83DDE21.png">')
.replace(/😇/g,'<img src="http://vk.com/images/emoji/D83DDE07.png">')
.replace(/😰/g,'<img src="http://vk.com/images/emoji/D83DDE30.png">')
.replace(/😲/g,'<img src="http://vk.com/images/emoji/D83DDE32.png">')
.replace(/😳/g,'<img src="http://vk.com/images/emoji/D83DDE33.png">')
.replace(/😷/g,'<img src="http://vk.com/images/emoji/D83DDE37.png">')
.replace(/😚/g,'<img src="http://vk.com/images/emoji/D83DDE1A.png">')
.replace(/😈/g,'<img src="http://vk.com/images/emoji/D83DDE08.png">')
.replace(/â¤/g,'<img src="http://vk.com/images/emoji/2764.png">')
.replace(/ðŸ‘/g,'<img src="http://vk.com/images/emoji/D83DDC4D.png">')
.replace(/👎/g,'<img src="http://vk.com/images/emoji/D83DDC4E.png">')
.replace(/â˜/g,'<img src="http://vk.com/images/emoji/261D.png">')
.replace(/✌/g,'<img src="http://vk.com/images/emoji/270C.png">')
.replace(/👌/g,'<img src="http://vk.com/images/emoji/D83DDC4C.png">')
Моя реализация обработки смайликов из VK. Это потом уже голова стала соображать и всё заменилось регуляркой с функцией.
+30
class MakeBARCODE
{
public static string MakeEAN13(long prefix, long code)
{
//В случае если префикс или код слишком большие то будет выдана ошибка:
string result = "ERROR_TOOLONG";
if ((prefix < 100) && (code < 10000000000))
{
//Получаем строку символов (цифр).
long all_code = prefix * 100000000000 + code;
string nabor = all_code.ToString();
//Сумма по чётным позициям.
int count_chet = int.Parse(nabor[1].ToString()) + int.Parse(nabor[3].ToString()) + int.Parse(nabor[5].ToString()) + int.Parse(nabor[7].ToString()) + int.Parse(nabor[9].ToString()) + int.Parse(nabor[11].ToString());
//Сумма по нечётным позициям.
int count_nechet = int.Parse(nabor[0].ToString()) + int.Parse(nabor[2].ToString()) + int.Parse(nabor[4].ToString()) + int.Parse(nabor[6].ToString()) + int.Parse(nabor[8].ToString()) + int.Parse(nabor[10].ToString());
//Контрольная сумма и контрольный разряд.
int control_summ = count_chet * 3 + count_nechet;
int ostatok = control_summ % 10;
if (!(ostatok == 0))
{
ostatok = 10 - ostatok;
}
result = nabor + ostatok.ToString();
}
return result;
}
}
Наткнулся сегодня в интернетах на алгоритм расчета контрольной суммы EAN.
+142
program maze;{МАЗЬ}
...
REPEAT UNTIL KEYPRESSED;
...
case {коза} с of:
...
/* FILE NAME : IMAGE.C
* PURPOSE : Fig it knows.
...
*/
BYTE *buf = 0L;
if (!(buf += malloc(WWW * HHH)))
{
printf(" У меня склероз ...\n Press Ctrl-Alt-Del.");
return;
}
for(int C=0;C<n;/*Borland*/C++)
...
Петросянство в школокоде :-\
(+= - чтобы избавиться от варнинга.)
+32
static_cast<SomeOtherClass>(this)->SomeMethod();
Чуваки лучше знают, что у них в this
+139
<span style="display: block">
div? не, не слышал
+103
void str2ip_s_Before( unsigned char* ptrIP, unsigned short* ptrPort, const wchar_t* src, size_t count )
{
int i;
if( !ptrIP )
return;
while( src && count && !iswdigit( *src ) )//skip separators and spaces
++src, --count;
for( i = 0; i < 4 && count; ++i )//IP address
{
ptrIP[ i ] = ( unsigned char )_wtoi( src );
while( src && count && iswdigit( *src ) )//skip current number
++src, --count;
while( src && count && !iswdigit( *src ) )//skip separators and spaces
++src, --count;
}
if( ptrPort && src && count )
*ptrPort = ( unsigned short )_wtoi( src );
}
int str2ip_sAfter( unsigned char* ptrIP, unsigned short* ptrPort, const wchar_t* src, size_t count )
{
int i, iRadix;
wchar_t* endptr;
if( !ptrIP || !src || 0 == count )
return 0;
for( i = 0; i < 4; ++i )
ptrIP[ i ] = 0;
if( ptrPort )
*ptrPort = 0;
while( 0 != count && !iswdigit( *src ) ) //skip separators and spaces
++src, --count;
for( i = 0; i < 4 && 0 != count; ++i ) //IP address
{
if( count > 1 && src[ 0 ] == L'0' )
{
if( src[ 1 ] != L'x' && src[ 1 ] != L'X' )
iRadix = 8;
else
iRadix = 16;
}
else
iRadix = 10;
ptrIP[ i ] = ( unsigned char )wcstol( src, &endptr, iRadix );
if( src == endptr )
return 0;
count -= endptr - src;
src = endptr;
while( 0 != count && iswspace( *src ) ) //skip spaces
++src, --count;
if( i < 3 )
{
if( L'.' == *src ) //skip point
++src, --count;
else
return 0;
}
while( 0 != count && iswspace( *src ) ) //skip spaces
++src, --count;
}
if( i < 4 )
return 0;
if( ptrPort )
{
if( 0 == count || L':' != *src ) //skip point
return 0;
++src, --count;
while( 0 != count && iswspace( *src ) ) //skip spaces
++src, --count;
*ptrPort = ( unsigned short )wcstol( src, &endptr, 10 );
if( src == endptr )
return 0;
else
return 1;
}
else
return 1;
}
Пуресишник зарефакторил
−157
class SomeModel < ActiveRecord::Base
after_save :some_method
def some_method
self.save
end
end
Рекурсивная рекурсия рекурсивна.
+57
function GetOrderSkidka(&$arrData)
{
if($this->flag_opt){
$arrData['skidka'] = ($this->admin_mode) ? $arrData['skidka'] : 0;
$arrData['allsum'] = $arrData['sum'] - $arrData['skidka'];
return;
}
if(!$this->flag_in_action){
$arrData['cnt_s_prod'] = $arrData['cnt'];
}elseif(in_array($this->flag_action_type,array(2,3))){
$this->calcCntProd($arrData);
}else{
$arrData['cnt_s_prod'] = 0;
}
$this->discount->GetOrderSkidka($arrData);
}
Работаю с сайтом, в котором все методы классов работают со своими параметрами таким образом.
Метод может ничего не возвращать, а вызывать другие методы (которые также могут вызывать какие-то методы),
которые в зависимости от множества условий меняют переданные по ссылке параметры.
Итог работы модифицированный параметр- массив. Только XDebug выручает.
+121
try {
repository.saveAll(entities);
} catch (final ConstraintViolationException e) {
throw new SettingsServiceException(ErrorFormatter.formatValidationErrors(
"Errors have been detected when saving", e));
} catch (final PersistenceException e) {
for (val t: Throwables.getCausalChain(e)) {
if (t instanceof EntityExistsException) {
val failedObject = (IEntity) ((ExceptionInfo) t).getFailedObject();
// failedObject is returned with the state in which it is in the database.
// Let's find the version that we tried to save, instead.
for (val entity: entities) {
if (entity.getId() != null && entity.getId().equals(failedObject.getId())) {
throw new SettingsServiceException("Attempted to save duplicate value: " + entity);
}
}
}
}
throw e;
}
Попытка вернуть пользователю человеко-читаемое сообщение о том, где, собственно, дубликат.
Костыли вы мои, костыли...