- 1
- 2
- 3
- 4
- 5
- 6
[Flags]
public enum ColumnState
{
Exist = 1,
NotExist = 2
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+964
[Flags]
public enum ColumnState
{
Exist = 1,
NotExist = 2
}
Большинство енумов у нас помечено именно так.
+74
Ваш пароль должен состоять из 6-12 букв или цифр нормальной толщины шрифта.
Не говнокод, но...
+165
// header
struct TMWFeatureSet
{
TMWFeatureSet();
~TMWFeatureSet();
enum TFeatureSetBitMask
{
EBackUpBitMask = 1,
ERestoreBitMask = 1 << 1,
EWipeBitMask = 1 << 2,
ELockBitMask = 1 << 3,
ELocateBitMask = 1 << 4,
EMessageBitMask = 1 << 5,
EScreamBitMask = 1 << 6,
EPrintBitMask = 1 << 7,
EShareBitMask = 1 << 8
};
enum TFeatureSet
{
EBackUp = 0,
ERestore,
EWipe,
ELock,
ELocate,
EMessage,
EScream,
EPrint,
EShare,
ECount
};
void SetFeatureAttr( TInt iIndex, TBool aValue );
void Reset( void );
void ExternalizeL( RWriteStream & aOutputStream );
void InternalizeL( RReadStream & aInputStream );
RArray<TFeatureSetBitMask> iBitMasks;
TFixedArray<TBool,ECount> iFeatureSetArr;
};
// implementation
TMWFeatureSet::TMWFeatureSet()
{
iBitMasks.Append( EBackUpBitMask );
iBitMasks.Append( ERestoreBitMask );
iBitMasks.Append( EWipeBitMask );
iBitMasks.Append( ELockBitMask );
iBitMasks.Append( ELocateBitMask );
iBitMasks.Append( EMessageBitMask );
iBitMasks.Append( EScreamBitMask );
iBitMasks.Append( EPrintBitMask );
iBitMasks.Append( EShareBitMask );
}
TMWFeatureSet::~TMWFeatureSet()
{
iBitMasks.Close();
}
void TMWFeatureSet::SetFeatureAttr( TInt iIndex, TBool aValue )
{
iFeatureSetArr[ iIndex ] = aValue;
}
void TMWFeatureSet::Reset( void )
{
for( TInt i = ( TInt ) TMWFeatureSet::EBackUp; i < ( TInt ) TMWFeatureSet::ECount; i++ )
{
SetFeatureAttr( i, EFalse );
}
}
void TMWFeatureSet::ExternalizeL( RWriteStream & aOutputStream )
{
for( TInt i = ( TInt ) TMWFeatureSet::EBackUp; i < ( TInt ) TMWFeatureSet::ECount; i++ )
{
aOutputStream.WriteUint8L((TUint)iFeatureSetArr[ i ]);
}
}
void TMWFeatureSet::InternalizeL( RReadStream & aInputStream )
{
for( TInt i = ( TInt ) TMWFeatureSet::EBackUp; i < ( TInt ) TMWFeatureSet::ECount; i++ )
{
iFeatureSetArr[ i ] = (TBool) aInputStream.ReadUint8L();
}
}
Это реализация битовой маски и по шаблону Simpleton: реализация простейшей функциональности самым сложным способом известным разработчику.
По идее надо было как то так:
int mask;
.....
bool IsFeatureAvailable( feature )
{
return ( ( mask & feature ) == feature );
}
+62
Уважаемые коллеги!
Вот и наступает Новый Год!
Пускай в новом году у каждого будет как можно меньше сбоев и багов!
Пусть будет профессиональный рост идти по экспоненте!
А тем, кто уже профессионалы своего дела - не останавливаться на достигнутом!
Желаю меньше говнокода в программах, пусть даже с бодуна и на больную голову будет писаться код!
Всех с наступающим, хорошего настроения и веселого празднования!
+163
<?php
// Заменить значния, выделенные жирным на действительные
// Соединяемся с "Мускулом"
define("MYSQL_HOST","myhost.ru",true);
define("MYSQL_USER","username",true);
define("MYSQL_PASS","userpass",true);
define("MYSQL_DB_N","userdb",true);
define("MYSQL_DB_N","userstable",true);
$_MYSQL_CONNECT = false; $_MYSQL_ERROR = -1;
if ($_MYSQL_CONNECT = @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS))
{
if (mysql_select_db(MYSQL_DB_N,$_connect))
{
$_MYSQL_ERROR = 0; define("MYSQL_CONNECTED",true,true);
} else { $_MYSQL_ERROR = 2; define("MYSQL_CONNECTED",false,true); }
} else { $_MYSQL_ERROR = 1; define("MYSQL_CONNECTED",false,true); }
// Проверяем значение
// Определяем список разрешённых неалфавитноцифровых символов
$_SRCH[0] = '.'; $_SRCH[1] = '_'; $_SRCH[2] = '-'; $_SRCH[3] = ' ';
if (isset($_POST['user']))
{
$_tmp = iconv("UTF-8","CP1251//IGNORE",urldecode($_POST['user']));
if (ctype_alnum(str_replace($_SRCH,'',$_tmp)) && (strlen($_tmp) < 33))
{
if (MYSQL_CONNECTED)
{
$_query = 'SELECT * FROM '.MYSQL_US_N." WHERE nick='".$_tmp."'";
if ($_result = mysql_query($_query,$_MYSQL_CONNECT))
{
if ($_row = mysql_fetch_assoc($_result))
{
define("_RESULT","RES_EX",true);
} else { define("_RESULT","RES_OK",true); }
} else { define("_RESULT","RES_MYSQL_BQ",true); }
} else { define("_RESULT","RES_MYSQL_NC",true); }
} else { define("_RESULT","POST_IN",true); }
} else { define("_RESULT","POST_NS",true); }
−126
sub Tgetent {
local($TERM) = @_;
local($TERMCAP,$_,$entry,$loop,$field);
# warn "Tgetent: no ospeed set" unless $ospeed;
foreach $key (keys %TC) {
delete $TC{$key};
}
$TERM = $ENV{'TERM'} unless $TERM;
$TERM =~ s/(\W)/\\$1/g;
$TERMCAP = $ENV{'TERMCAP'};
$TERMCAP = '/etc/termcap' unless $TERMCAP;
if ($TERMCAP !~ m:^/:) {
if ($TERMCAP !~ /(^|\|)$TERM[:\|]/) {
$TERMCAP = '/etc/termcap';
}
}
if ($TERMCAP =~ m:^/:) {
$entry = '';
do {
$loop = "
open(TERMCAP,'<$TERMCAP') || die \"Can't open $TERMCAP\";
while (<TERMCAP>) {
next if /^#/;
next if /^\t/;
if (/(^|\\|)${TERM}[:\\|]/) {
chop;
while (chop eq '\\\\') {
\$_ .= <TERMCAP>;
chop;
}
\$_ .= ':';
last;
}
}
close TERMCAP;
\$entry .= \$_;
";
eval $loop;
} while s/:tc=([^:]+):/:/ && ($TERM = $1);
$TERMCAP = $entry;
}
foreach $field (split(/:[\s:\\]*/,$TERMCAP)) {
if ($field =~ /^\w\w$/) {
$TC{$field} = 1;
}
elsif ($field =~ /^(\w\w)#(.*)/) {
$TC{$1} = $2 if $TC{$1} eq '';
}
elsif ($field =~ /^(\w\w)=(.*)/) {
$entry = $1;
$_ = $2;
s/\\E/\033/g;
s/\\(200)/pack('c',0)/eg; # NUL character
s/\\(0\d\d)/pack('c',oct($1))/eg; # octal
s/\\(0x[0-9A-Fa-f][0-9A-Fa-f])/pack('c',hex($1))/eg; # hex
s/\\(\d\d\d)/pack('c',$1 & 0177)/eg;
s/\\n/\n/g;
s/\\r/\r/g;
s/\\t/\t/g;
s/\\b/\b/g;
s/\\f/\f/g;
s/\\\^/\377/g;
s/\^\?/\177/g;
s/\^(.)/pack('c',ord($1) & 31)/eg;
s/\\(.)/$1/g;
s/\377/^/g;
$TC{$entry} = $_ if $TC{$entry} eq '';
}
}
$TC{'pc'} = "\0" if $TC{'pc'} eq '';
$TC{'bc'} = "\b" if $TC{'bc'} eq '';
}
Гениальный код.
+144
#include <stdio.h>
main()
{
char old[1000];
char new[1000];
int i; /*счетчик цикла длинны массива */
int z; /*счетчик нового массива */
int l; /*длинна массива */
int c; /*член массива */
l = 0;
z = 0;
printf
("программа удаления повторяющихся символов\n");
printf
("введите последовательности символов, из которых нужно удалить повторяющиеся, по окончании вводна нажмите Ctrl+D \n");
while ((c = getchar()) != EOF) {
old[l] = c;
l++;
}
old[l] = 0;
printf
("Введите символ, который нужно удадить как повторяющийся\n");
c = getchar();
for (i = 0; i < l; i++) {
if (old[i] != c) {
new[z] = old[i];
z++;
} else if (old[i] == c && old[i + 1] != c) { /*один символ из повторяющихся */
new[z] = old[i];
z++;
}
}
new[z] = 0;
printf("%s\n", new);
printf("*end");
}
Сорри за флуд, но тут форматирование полутше.
+189
for (int y=0; y<height; ++y)
{
int x=0;
dstp[x] = (srcp[x+4]*678 + srcp[x+3]*3902 + srcp[x+2]*13618 + srcp[x+1]*28830 +
srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x+4]*678 + srcp[x+3]*3902 + srcp[x+2]*13618 +
(srcp[x-1]+srcp[x+1])*14415 + srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x+4]*678 + srcp[x+3]*3902 +
(srcp[x-2]+srcp[x+2])*6809 + (srcp[x-1]+srcp[x+1])*14415 +
srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x+4]*678 + (srcp[x-3]+srcp[x+3])*1951 +
(srcp[x-2]+srcp[x+2])*6809 + (srcp[x-1]+srcp[x+1])*14415 +
srcp[x]*18508 + 32768)>>16;
for (x=4; x<width-4; ++x)
{
dstp[x] = ((srcp[x-4]+srcp[x+4])*339 + (srcp[x-3]+srcp[x+3])*1951 +
(srcp[x-2]+srcp[x+2])*6809 + (srcp[x-1]+srcp[x+1])*14415 +
srcp[x]*18508 + 32768)>>16;
}
dstp[x] = (srcp[x-4]*678 + (srcp[x-3]+srcp[x+3])*1951 +
(srcp[x-2]+srcp[x+2])*6809 + (srcp[x-1]+srcp[x+1])*14415 +
srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x-4]*678 + srcp[x-3]*3902 +
(srcp[x-2]+srcp[x+2])*6809 + (srcp[x-1]+srcp[x+1])*14415 +
srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x-4]*678 + srcp[x+3]*3902 + srcp[x-2]*13618 +
(srcp[x-1]+srcp[x+1])*14415 + srcp[x]*18508 + 32768)>>16; ++x;
dstp[x] = (srcp[x-4]*678 + srcp[x-3]*3902 + srcp[x-2]*13618 +
srcp[x-1]*28830 + srcp[x]*18508 + 32768)>>16;
srcp += pitch;
dstp += pitch;
}
вот он - бесконстантый код
+134
[BITS 16]
[ORG 7C00h]
main:
mov ah,0Eh
mov al,'B'
int 10h
mov ah,0Eh
mov al,'o'
int 10h
mov ah,0Eh
mov al,'l'
int 10h
mov ah,0Eh
mov al,'g'
int 10h
mov ah,0Eh
mov al,'e'
int 10h
mov ah,0Eh
mov al,'n'
int 10h
mov ah,0Eh
mov al,'O'
int 10h
mov ah,0Eh
mov al,'S'
int 10h
mov ah,0Eh
mov al,' '
int 10h
mov ah,0Eh
mov al,'2'
int 10h
mov ah,0Eh
mov al,'.'
int 10h
mov ah,0Eh
mov al,'0'
int 10h
times 510-($-$$) db 0
dw 0xAA55
Так будет выглядеть бутлоадер BolgenOS 2.0
Запускать с:
nasm os.asm -o os.bin
dd if=os.bin of=os.img bs=512
kvm os.img
+167
<?
error_reporting(0);
$b=array("Калининград","Вологда","Далматово","Дмитров","Архангельск","Владивосток","Краков");
//конкурсный код:
//begin
for($i=0;$i<7;$i++){$s.="for(\$z[$i]=0;\$z[$i]<7;\$z[$i]++)";$n.="\$z[$i],";$q.="\$b[\$z[$i]],";}$f='for($i=0;$i<7;$i++){$l[$i]=strlen($b[$i])-1;$c[$i]=strtolower($b[$i]);for($j=0;$j<7;$j++)if($i!=$j&&$b[$i][$l[$i]]==strtolower($b[$j][0]))$e[$i]=true;}'.$s.'{$y=array('.$n.');sort($y);if($y==array(0,1,2,3,4,5,6)){$d=true;for($i=0;$i<6;$i++)if($d&&$c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0]&&($e[$z[$i]]||$c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))$d=!$d;if($d)$a=array('.$q.');}}';eval($f);
//end
print_r($a);
echo "<br />";
echo "<br />";
//тоже самое в нормальном виде:
for($i=0;$i<7;$i++)
{
$l[$i]=strlen($b[$i])-1;
$c[$i]=strtolower($b[$i]);
for($j=0;$j<7;$j++)
{
if($i!=$j && $b[$i][$l[$i]]==strtolower($b[$j][0]))
{
$ecantUsePrelast[$i] = true;
}
}
};
for($z[0]=0;$z[0]<7;$z[0]++)
for($z[1]=0;$z[1]<7;$z[1]++)
for($z[2]=0;$z[2]<7;$z[2]++)
for($z[3]=0;$z[3]<7;$z[3]++)
for($z[4]=0;$z[4]<7;$z[4]++)
for($z[5]=0;$z[5]<7;$z[5]++)
for($z[6]=0;$z[6]<7;$z[6]++)
{
$y=array($z[6],$z[5],$z[4],$z[3],$z[2],$z[1],$z[0]);
sort($y);
if($y==array(0,1,2,3,4,5,6))
{
$dcorrect=true;
for($i=0;$i<6;$i++)
if($dcorrect && $c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0] && ($ecantUsePrelast[$z[$i]] || $c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))
$dcorrect=!$dcorrect;
if($dcorrect)
{
$a=array($b[$z[0]],$b[$z[1]],$b[$z[2]],$b[$z[3]],$b[$z[4]],$b[$z[5]],$b[$z[6]]);
}
}
}
print_r($a);
?>
Чтобы немного развеять "академическую" атмосферу на сайте, мы решили провести конкурс в стиле Code Golf (написать программное решение задачи, использовав минимальное количество символов)
Задание: написать программу для игры «в города».
На вход подается массив вида
[Калининград, Вологда, Алматы, Дмитров, Архангельск, Тобольск, Краков]
На выходе.
[Архангельск, Краков, Вологда, Алматы , Тобольск, Калининград, Дмитров]