- 1
internal static string TryingDownloadAgainDotDotDot
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+123
internal static string TryingDownloadAgainDotDotDot
Индусы суровы.
+74
public class DataRetriever
{
public static Object deserializeData(String fileName)
{
Object returnValue = null;
try
{
File inputFile = new File(fileName);
if (inputFile.exists() && inputFile.isFile())
{
try (ObjectInputStream readIn = new ObjectInputStream(new FileInputStream(fileName)))
{
returnValue = readIn.readObject();
}
}
else
{
throw new RuntimeException(new FileNotFoundException(fileName + " not found"));
}
}
catch (ClassNotFoundException | IOException exc)
{
throw new RuntimeException(exc);
}
return returnValue;
}
private DataRetriever() { throw new AssertionError(); }
}
Паранойя неконтролируемых исключений
+158
$(function() {
var $track = $('#track');
var $thumb = $('#thumb');
document.getElementById('thumb').setAttribute('onDragStart', 'return false');
$thumb.mousedown(function(e) {
clickPointX = e.pageX - $(this).offset().left;
isClicked = true;
$thumb.stop();
});
});
Пример с хабры, лишний код был опущен. Видимо религия автора не позволила задать атрибут по другому.
−134
с = 0;
Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
нстчТовары = НоваяНалоговая.Товары.Добавить();
нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена;
...
нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
с = с + 1;
КонецЦикла;
Ни шагу без счетчика! Особенно в итераторе. =)
+161
<?php
//...
while (($data = fgetcsv($handle, 1000, $this->CSV_SEPARATOR, $this->CSV_ENCLOSURE)) !== FALSE) {
$num = count($data);
$item = array();
for ($c=0; $c < count($data); $c++) {
$item[] = $data[$c];
}
//некие действия с $item. $data больше нигде используется
?>
Итого, $num не используется в цикле, да и сам по себе цикл - бесполезен, можно было сделать просто $item = $data; Не говоря уже о том, что можно просто использовать $data.
Код из одного модуля для opencart.
+149
<?php
function check_brackets($s)
{
$brackets = array('(' => ')' , '[' => ']', '{' => '}');
$stack = array();
for($i = 0; $i < strlen($s); $i++)
{
if(in_array($s[$i], array_keys($brackets)))
{
array_push($stack, $brackets[$s[$i]]);
}
elseif(in_array($s[$i], array_values($brackets)))
{
if(empty($stack) || array_pop($stack) != $s[$i])
{
return false;
}
}
}
if(empty($stack)) return true;
}
if($_POST["bracket_string"] && $_POST["bracket_string"] <= 30)
{
if(check_brackets($_POST["bracket_string"]))
{
$message = "Check passed";
}
else $message = "Check failed";
}
?>
Финальная версия.
+158
//Рекурсивная функция цепной проверки категории
function category(){
static $category;
static $level=0;
$myrow = mysql_query("SELECT id,pot_category FROM categroy WHERE sysname='".$_GET['do'][$level]."'");
if(mysql_num_rows($myrow)){
$result = mysql_fetch_assoc($myrow);
if($result['no_viev']==0){
if($result['sysname']==end($_GET['do'])){
return 'category';
}else{
$level++;
$this->category();
}
}else{return 'no_viev';}
}else{
//Если категории не найдено то показываем ошибку 404
return FALSE;}
}
Бессмысленная рекурсия
+142
enum class TClockWise
{
CW=true,
CCW=false
};
template<class T>
std::ostream& operator<<(std::ostream &out, const TClockWise Cow)
{
switch(Cow)
{
case TClockWise::CW: out << "CW"; break;
case TClockWise::CCW: out << "CCW"; break;
default: MUST_NEVER_CAL_THAT;
}
return out;
}
+142
class SMSSender
{
const string API_URL = "http://api.sms****.ru/?";
string base_URL = "";
private string _email;
private string _password;
XmlDocument doc = new XmlDocument();
Dictionary<string,string> parameters;
public SMSSender(string email, string password)
{
_email = email;
_password = password;
base_URL = API_URL + "email=" + _email + "&password=" + _password + "&";
}
public bool LoginAttempt()
{
parameters = new Dictionary<string, string>();
parameters.Add("method", "login");
return APIRequest(parameters);
}
public KeyValuePair<int,object> GetCreditsLeft()
{
parameters = new Dictionary<string, string>();
parameters.Add("method", "get_profie");
APIRequest(parameters);
return new KeyValuePair<int, object>(0, int.Parse(GetValueByName("credits")));
}
public int SendSMS(string senderName, string internationalNumber, string text)
{
parameters = new Dictionary<string, string>();
parameters.Add("method", "push_msg");
parameters.Add("text", text);
parameters.Add("phone", internationalNumber);
parameters.Add("sender_name", senderName);
APIRequest(parameters);
return int.Parse(GetValueByName("n_raw_sms"));
}
public KeyValuePair<int, object> GetLastError()
{
return new KeyValuePair<int, object>(int.Parse(doc.GetElementsByTagName("err_code")[0].InnerText), doc.GetElementsByTagName("text")[0].InnerText);
}
private string GetValueByName(string keyToReturn)
{
return doc.GetElementsByTagName(keyToReturn)[0].InnerText;
}
private bool APIRequest(Dictionary<string, string> param)
{
string URL = base_URL;
foreach (KeyValuePair<string, string> p in param)
URL = URL + p.Key + "=" + p.Value + "&";
doc.Load(URL);
if (GetLastError().Key == 0) return true;
else throw new SMSSenderException(GetLastError().Key, GetLastError().Value.ToString());
}
}
class SMSSenderException : Exception
{
int _errorCode;
string _Message;
public SMSSenderException(int errorCode, string Message)
{
_errorCode = errorCode;
_Message = Message;
}
public int ErrorCode
{
get { return _errorCode; }
}
override public string Message
{
get { return _Message; }
}
}
}
API сервер отправки принимает запросы вида http://api.****sms.ru?method=send_msg&phone=+79 123456789&text=abcdef, возвращает простейший XML с err_code и результатом выполнения запроса.
Казалось бы, 20 строчек кода и проблема решена? Нифига, без специального класса для этого не обойтись. Совсем никак. И уж совсем ничего нельзя делать без специального Exception для этого дела.
+150
function check($string_to_search) {
$stack = array();
foreach (preg_split("//", $string_to_search) as $char) {
switch ($char) {
case '{':
case '(':
case '[':
array_push($stack, $char);
break;
case '}':
if (array_pop($stack) != "{") return false;
break;
case ')':
if (array_pop($stack) != "(") return false;
break;
case ']':
if (array_pop($stack) != "[") return false;
break;
}
}
return true;
}
by kolen