- 1
- 2
- 3
- 4
- 5
static string ConCat(string str0,string str1)
{
if (str0 is string && str1 is string) return str0 + str1;
else return null;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+943.7
static string ConCat(string str0,string str1)
{
if (str0 is string && str1 is string) return str0 + str1;
else return null;
}
А вдруг НЕ строку подсунут....
+105.2
public static bool EqualHash(string x, string y)
{
if ((x == null || y == null) && x != y)
return false;
if (x == null && x == y)
return true;
if (x.Length != y.Length)
return false;
for (int i=0; i<x.Length; i++)
{
if (x[i] == y[i])
return false;
}
return true;
}
//чуть ниже в том же классе
public static bool SimpleEqualHash(string x, string y)
{
return (x == y);
}
+51.9
#define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)
#define GetSysModalWindow() (NULL)
#define SetSysModalWindow(hWnd) (NULL)
Microsoft SDK, WinUser.h.
+65.2
case WM_DESTROY:
// Microsoft, you MORONS! Don't destroy stuff I create!
// Oh well, try to handle this as gracefully as possible so we
// don't send any commands to the now non-existent window:
tablet_close(hWnd);
if (window) window->destroy();
fl_prune_deferred_calls(hWnd);
break;
FLTK. В свое время заставило похихикать.
+66.4
int str_length(const char *str)
{
return (int)strlen(str);
}
Опенсорс, если чо.
+65.3
struct Point
{
double x,y,z;
Point()
{
L1:
x=Rand();
y=Rand();
z=Rand();
double r=sqrt(x*x+y*y+z*z);
if(r<eps)
goto L1;
x/=r;
y/=r;
z/=r;
}
...
};
+134.5
static void Main(string[] args)
{
if (args.Length < 1)
Console.WriteLine("Usage:\n\tprogram <Folder> [output file]");
else if (args.Length == 1)
{
string outf = args[0] + "\\output.txt";
System.IO.File.WriteAllLines
(
outf,
new List<string>
(
System.IO.Directory.GetFiles(args[0])
)
.Concat(System.IO.Directory.GetDirectories(args[0]))
.ToArray()
);
}
else if(args.Length == 2)
{
string outf = args[1];
System.IO.File.WriteAllLines
(
outf,
new List<string>
(
System.IO.Directory.GetFiles(args[0])
)
.Concat(System.IO.Directory.GetDirectories(args[0]))
.ToArray()
);
}
}
Видите ли, я не знал как это сделать с помощью скриптовых языков виндовс.
+55.3
#define constuserColor "usercolor"
#define consttagColor "tagcolor"
#define constmsgColor "idcolor"
#define constQcolor "quotecolor"
#define constLcolor "linkcolor"
#define constUbold "userbold"
#define constTbold "tagbold"
#define constMbold "idbold"
#define constQbold "quotebold"
#define constLbold "linkbold"
#define constUitalic "useritalic"
#define constTitalic "tagitalic"
#define constMitalic "iditalic"
#define constQitalic "quoteitalic"
#define constLitalic "linkitalic"
#define constUunderline "userunderline"
#define constTunderline "tagunderline"
#define constMunderline "idunderline"
#define constQunderline "quoteunderline"
#define constLunderline "linkunderline"
#define constIdAsResource "idAsResource"
#define constShowPhoto "showphoto"
#define constShowAvatars "showavatars"
#define constWorkInGroupchat "workingroupchat"
#define constVersion "0.9.9"
class JuickPlugin : public QObject, public PsiPlugin, public EventFilter, public OptionAccessor, public ActiveTabAccessor,
public StanzaFilter, public ApplicationInfoAccessor
{
Q_OBJECT
Q_INTERFACES(PsiPlugin EventFilter OptionAccessor ActiveTabAccessor StanzaFilter ApplicationInfoAccessor)
public:
JuickPlugin();
virtual QString name() const;
virtual QString shortName() const;
virtual QString version() const;
virtual QWidget* options();
virtual bool enable();
virtual bool disable();
virtual void applyOptions();
virtual void restoreOptions();
virtual bool processEvent(int account, QDomElement& e);
virtual bool processMessage(int account, const QString& fromJid, const QString& body, const QString& subject);
// OptionAccessor
virtual void setOptionAccessingHost(OptionAccessingHost* host);
virtual void optionChanged(const QString& option);
//ActiveTabAccessor
virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
//ApplicationInfoAccessor
virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
virtual bool incomingStanza(int account, const QDomElement& stanza);
void elementFromString(QDomElement& body,QDomDocument e, QString& msg, QString jid, QString resource = "");
void nl2br(QDomElement& body,QDomDocument e, QString msg);
void addPlus(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
void addSubscribe(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
void addHttpLink(QDomElement& body,QDomDocument e, QString msg);
void addTagLink(QDomElement& body,QDomDocument e, QString tag, QString jid);
void addUserLink(QDomElement& body,QDomDocument e, QString nick, QString altText, QString pattern, QString jid);
void addMessageId(QDomElement& body,QDomDocument e, QString mId, QString altText,QString pattern, QString jid, QString resource = "");
void addUnsubscribe(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
void addDelete(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
void addFavorite(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
Краткость - сестра таланта... Только видимо авторы этого чуда эту пословицу не знают.
Да и количество непонятных макросов нам тоже намекает.
Ну и конечно же необходимость в таком страшном множественном наследовании с возможностью рандомных побочных эффектов тоже намекает нам о говноархитектуре. В общем не зря авторы Psi решили начать писать новый клиент.
+950.3
//...
for (int i = 0; i < arr.Length; i++)
{
if (i == 5)
{
if (arr[i] == -1)
{
break;
}
else
{
return -1;
}
}
else continue;
}
//...
+162.3
$comments = (isset($_POST['lici-'.$login->id.'-comments']))?"yes":"no";
if($comments === "yes")
{
$xml .= "<nocomment>1</nocomment>\r\n";
}
Код из плагина кросспостера для wordpress.
Автор, видимо, не знает про булев тип. Все бы было хорошо, если бы плагин не закрывал комментарии, когда их нужно было открывать.