- 1
- 2
- 3
- 4
- 5
public Boolean checkPermission(String login) {
if (login == null && login.trim().length() == 0)
throw new Exception("Не указан логин пользователя.");
/* ... */
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+92
public Boolean checkPermission(String login) {
if (login == null && login.trim().length() == 0)
throw new Exception("Не указан логин пользователя.");
/* ... */
}
Чудесное условие. Есть в этом Exception что-то неуловимое - его никто никогда не поймает.
+126
public static bool ValidateEmailAddress(string emailAddress)
{
try
{
string TextToValidate = emailAddress;
// test email address with expression
if (emailExpression.IsMatch(TextToValidate))
{
// is valid email address
return true;
}
else
{
// is not valid email address
return false;
}
}
catch (Exception)
{
throw;
}
}
public static bool ValidateEmailAddress(string emailAddress)
{
if(string.IsNullOrEmpty(emailAddress))
return false;
return emailExpression.IsMatch(TextToValidate);
}
+154
public function setIndex() {
$lang = '';
switch($this->data['find_in']) {
case '1' :
$this->indexes = Indexes::COMPANIES.$lang;
break;
case '2' :
$this->indexes = Indexes::PRODUCTS.$lang;
break;
case '3' :
$this->indexes = Indexes::PROMOS.$lang;
break;
default:
$this->indexes = Indexes::COMPANIES.$lang;
break;
}
}
+127
private string CalculateDecadeOrYear(string year)
{
string decade = year.Remove(3) + "0";
string currentYear = DateTime.Now.Year.ToString();
string currentDecade = currentYear.Remove(3) + "0";
string prevDecade = ((Convert.ToInt32(currentYear.Remove(3)) - 1)).ToString() + "0";
if (!(decade == currentDecade) && !(decade == prevDecade))
{
return decade;
}
return year;
}
stringly typed вычисление декады. нашел в исходниках индусов
−121
create or replace procedure rout_cancel (
p_sql varchar2
) is
v_curs sys_refcursor;
begin
if v_curs%isopen then
close v_curs;
end if;
begin
open v_curs for p_sql;
exception
when others then
raise_application_error(-20000, 'Unable to open cursor');
end;
rout_cancel_details(v_curs);
close v_curs;
end;
6-8: Кто ж тебя открыть-то успел?!
−121
declare
v_curs sys_refcursor;
v_on number;
begin
open v_curs for 'select rout_num from rout_orders_promotion';
fetch v_curs into v_on;
loop
exit when v_curs%notfound;
if v_curs%rowcount = 1 then
null;
end if;
fetch v_curs into v_on;
end loop;
close v_curs;
end;
Если запись одна, тогда уж точно нечего в цикле делать.
−127
am=`cat $file | wc -l`
for ((i=1;i<=$am;i++))
do
read z
imsi=`echo $z | sed -e "s/^[0-9]*[ ]*//" `
done < $file
+85
String methodName = (new Exception()).getStackTrace()[1].getMethodName();
Вот как надо получать имя метода. Это вам не __func__ ...
+83
try
{
nIndex = Integer.parseInt(sRowIndex.trim());
}
catch(NumberFormatException e)
{
//异常处理
nIndex = -2;
}
if(nIndex < 0) return;
Китайцы продолжают отжигать.
+171
// Файл settings.cpp
#define SETTINGS_READ
#include "Settings.h"
#undef SETTINGS_READ
#include "Settings.h"
#endif
// ----------------------------------
// Файл settings.h
#ifdef SETTINGS_READ
#define _XML_OPTION_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {/*XML.IntoElem();*/ XML.GetData(value); /*ShowVar(value);ShowVar(_CRT_WIDE(#name));*/ /* XML.OutOfElem();*/}
#define _XML_OPTION_ATTR(name,value) XML.GetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {XML.IntoElem();
#define XML_NODE_START_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {
#define XML_NODE_STARTS(name,value) if (XML.FindElem(name)) {
#define XML_NODE_START_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);XML.IntoElem();
#define XML_NODE_START_VALUE_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);
#define XML_NODE_END() \
XML.OutOfElem(); \
}
#define XML_OPTION_VALUE(name) _XML_OPTION_VALUE(name,name)
#define XML_OPTION_MEMBER_VALUE(prefix, name) _XML_OPTION_VALUE(name, prefix##.name)
#define XML_OPTION_ATTR(name) _XML_OPTION_ATTR(name,name)
#define XML_OPTION_MEMBER_ATTR(prefix, name) _XML_OPTION_ATTR(name, prefix##.name)
#define COLOR_TO_PINT(c) (*(int*)&##c)
#else
// SAVING MACROSES
#define _XML_OPTION_VALUE(name,value) XML.AddElem(_CRT_WIDE(#name),value) ; /*XML.OutOfElem();*/
#define _XML_OPTION_ATTR(name,value) XML.SetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) XML.AddElem(_CRT_WIDE(#name)); {XML.IntoElem();
// ( еще десяток макросов)
#endif
#ifdef SETTINGS_READ
bool CSettings::MacroLoadSettings(CMyXml &XML)
{
#else
bool CSettings::MacroSaveSettings(CMyXml &XML)
{
#endif
TCHAR szFont[1024];
CString Font;
XML_NODE_START(Settings);
XML_NODE_START(General);
XML_OPTION_MEMBER_VALUE(Settings,Language);
XML_OPTION_VALUE(ExplorerContextMenu);
#ifndef SETTINGS_READ
HotkeysStr= Settings.Hotkeys.toString();
FontToString(&LogoSettings.Font,Font);
#endif
XML_OPTION_VALUE(HotkeysStr);
#ifdef SETTINGS_READ
Settings.Hotkeys.DeSerialize(HotkeysStr);
StringToFont(Font, &LogoSettings.Font);
#endif
#endif
XML_NODE_END();
// ..............................................
XML_NODE_END(); // end of settings
XML_NODE_END(); //
return true;
}
Фееричный пример повторного использования кода с помощью директив препроцессора.
Создано с целью совместить в одном месте чтение/запись настроек программы (с риском что-нибудь забыть) из XML файла.