- 1
- 2
- 3
- 4
- 5
- 6
......
$password = hash("sha256", $password);
......
elseif(strlen($password) < 5)
error("Пароль слишком короткий.");
......
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+17
......
$password = hash("sha256", $password);
......
elseif(strlen($password) < 5)
error("Пароль слишком короткий.");
......
−4
std::string CryptoOperations::getLastError()
{
return "Произошла неизвестная ошибка при выполнении криптооперации";
}
+6
if (strlen($fio) < 2) {
$error = 1; $error_text .= "Вы не представились<br>";
}
if (strlen($fio) > 5) {
$error = 1; $error_text .= "Такого имени не бывает<br>";
}
Только избранный пройдет валидацию
+2
$opl1_type_arr = array("no","yes");
for($i=0;$i<2;$i++){
$str_pr = $opl1_type_arr[$i];
echo "<option value=\"$str_pr\"";
if($RowOP['pay_peredano']==$str_pr) echo " selected";
switch ($str_pr) {
case 'yes':
echo ">Да</option>";
break;
case 'no':
echo ">Нет</option>";
break;
}
}
Вырезано из 2.5к строчек кода на боевом проекте. Здесь прекрасно всё.
+1006
if(cond) {
#define INIT_COUNT 1
} else {
#define INIT_COUNT 2
}
Тот, кто показал мне этот кусочек кода, был очень удивлем тем , что все время выполняется только ветка else.
+134
https://github.com/dlitz/pycrypto/issues?utf8=✓&q=aes
−123
def checkio(opacity):
febonachi = [0, 1]
opacity = 10000 - opacity
year = 0
for i in range(0, 21):
febonachi.append((febonachi[i]+febonachi[i+1]))
for i in range(2, 5000):
if opacity == 0:
break
else:
year += 1
if year in febonachi:
opacity -= year
else:
opacity += 1
return year
Определяем сколько приведяшкам лет по прозрачности. :)
+145
// Я не знаю, на чём до c# писал человек, который пишет вот такой код...
// sum типа decimal. Видимо, надо умножить её на 100 и передать округленной до целого куда-то в текстовом виде.
UInt32 summ_st = Convert.ToUInt32((Math.Round(sum * 100)).ToString("G"));
string cmd = "" + summ_st.ToString() + "";
И такое приходит от аутсорсеров
+142
/// <summary>
/// Обновление данных о объекте
/// </summary>
/// <param name="theObject">ссылка на объект</param>
public void Update(IPersistentObject theObject)
{
IDbCommand updateCommand = null;
try
{
using (updateCommand = CreateUpdateCommand(theObject))
{
updateCommand.Connection.Open();
updateCommand.ExecuteNonQuery();
}
}
catch (DbException ex)
{
int code = 0;
if (ex is SqlException)
{
code = ((SqlException) ex).Number;
}
if (code == 229)
{
ex.Data.Add("Name", theObject.ClassInfo.Name);
ex.Data.Add("Description", theObject.ClassInfo.Description);
ex.Data.Add("Action", "UPDATE");
throw new InvalidOperationException(
String.Format("Ошибка обновления объекта [{0}] - {1} (ID = '{2}')",
theObject.ClassInfo.Name,
theObject.ClassInfo.Description,
theObject.ID), ex);
}
if (code == 207 || code == 208)
{
throw new InvalidColumnException(theObject.ClassInfo, ex);
}
//theObject заменен на theObject.ID. Нечитабельно, но ... Т. к. при вычислении ToString()
//для показа объекта иногда задействуются методы загрузки данных
//названия объекта. Таким образом при высоком уровне изоляции транзакции
//мы получим зависание если будет попытка загрузить данные заблокированные транзакцией.
TraceLogger.Log(String.Format("Update {0}({1}){4} - {2}\n{3}", theObject.ID, theObject.ClassInfo,
ex.Message, ex.InnerException, theObject.GetInfoToTraceMessage()),
TraceTypeEnum.UpdateStatement);
throw;
}
finally
{
if (updateCommand != null)
{
updateCommand.Connection.Close();
}
}
}
смертельный прием using
и добьем соперника используя finally как фаталити
перехват исключения тоже хорош, авторский комментарий добавляет изюминку
+140
int __STRNCMP__(const char s1, const char s2, size_t n)
{
for (; n > 0; s1++, s2++, --n)
if (s1 != s2)
return (((unsigned char )s1 < (unsigned char )s2) ? -1 : +1);
else if (*s1 == '\0')
return 0;
return 0;
}
Зачем нужен такой велосипед?