- 1
- 2
- 3
int main() {
//new int;
FreeConsole();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+15
int main() {
//new int;
FreeConsole();
+157
$hostInfo = Yii::app()->getRequest()->getHostInfo();
$hostInfo = str_replace('http://', "", $hostInfo);
$hostInfo = str_replace('www', "", $hostInfo);
$hostInfo = str_replace('sitename', "", $hostInfo);
$hostInfo = str_replace('.', "", $hostInfo);
$hostInfo = preg_replace('/ru|local/', '', $hostInfo);
Человек до меня получал поддомен третьего уровня
+78
public static String[] Filtr( String[] mas )
{
for(int i=0;i<mas.length;i++)
{
if ("А".equals(mas[i])){
mas[i] = "а";
}
if ("Б".equals(mas[i])){
mas[i] = "б";
}
if ("В".equals(mas[i])){
mas[i] = "в";
}
if ("Г".equals(mas[i])){
mas[i] = "г";
}
if ("Д".equals(mas[i])){
mas[i] = "д";
}
if ("Е".equals(mas[i])){
mas[i] = "е";
}
if ("Ё".equals(mas[i])){
.....//и т.д.
if ("Э".equals(mas[i])){
mas[i] = "э";
}
if ("Ю".equals(mas[i])){
mas[i] = "ю";
}
if ("Я".equals(mas[i])){
mas[i] = "я";
}
if ("Й".equals(mas[i])){
mas[i] = "й";
}
}
for(int i=0;i<mas.length;i++)
{
if(
(mas[i].equals("а") == false) &&
(mas[i].equals("б") == false) &&
(mas[i].equals("в") == false) &&
(mas[i].equals("г") == false) &&
(mas[i].equals("д") == false) &&
(mas[i].equals("е") == false) &&
(mas[i].equals("ё") == false) &&
(mas[i].equals("ж") == false) &&
(mas[i].equals("з") == false) &&
(mas[i].equals("и") == false) &&
(mas[i].equals("к") == false) &&
(mas[i].equals("л") == false) &&
(mas[i].equals("м") == false) &&
(mas[i].equals("н") == false) &&
(mas[i].equals("о") == false) &&
(mas[i].equals("п") == false) &&
(mas[i].equals("р") == false) &&
(mas[i].equals("с") == false) &&
(mas[i].equals("т") == false) &&
(mas[i].equals("у") == false) &&
(mas[i].equals("ф") == false) &&
(mas[i].equals("х") == false) &&
(mas[i].equals("ц") == false) &&
(mas[i].equals("ч") == false) &&
(mas[i].equals("ш") == false) &&
(mas[i].equals("щ") == false) &&
(mas[i].equals("э") == false) &&
(mas[i].equals("ю") == false) &&
(mas[i].equals("я") == false) &&
(mas[i].equals("ъ") == false) &&
(mas[i].equals("ь") == false) &&
(mas[i].equals("ы") == false) &&
(mas[i].equals("й") == false) &&
(mas[i].equals(" ") == false))
{
mas = Del(mas, i);
i--;
} ;
for(int k=0;(k+1)<mas.length;k++)
{
if(mas[k].equals(" ") && mas[k+1].equals(" "))
{
mas = Del(mas, k);
k--;
}
}
}
return mas;
}
+134
// Как вы думаете какой вариант кода более правильный?
using System;
using System.Linq;
public class Program {
public static int Puzzle(string s) {
return s.Where(x=>x=='a').Count();
}
}
// Или вот этот?
using System;
using System.Linq;
public class Program {
public static int Puzzle(string s) {
return s.Count(x=>x=='a');
}
}
//С точки зрения Майкрософт 1-ый вариант лучше
Майкрософт запустила игру головоломку, каждая из головоломок решается определнным кодом. После - элегантность решения оценивается, весьма неоднозначным способом.
Подробнее - https://www.codehunt.com/ и статейка на хабре http://habrahabr.ru/post/223173/ . Данная особенность замечена не мной, задачи 2.06 и 2.07
+132
public void Check()
{
try
{
this.Function = "check";
this.Params = HttpUtility.UrlEncode((this.Params), Encoding.GetEncoding(1251));
if ((this.Function.Length > 0) &&
(this.PaymExtId.Length > 0) &&
(this.PaymSubjTp.ToString().Length > 0) &&
(this.Amount.ToString().Length > 0) &&
(this.Params.Length > 0) &&
(this.TermType.Length > 0) &&
(this.TermId.Length > 0) &&
(this.FeeSum.ToString().Length > 0))
{
this.Request = string.Format("function={0}&PaymExtId={1}&PaymSubjTp={2}&Amount={3}&Params={4}&TermType={5}&TermID={6}&FeeSum={7}",
this.Function, this.PaymExtId, this.PaymSubjTp.ToString(), this.Amount.ToString(), this.Params, this.TermType, this.TermId, this.FeeSum.ToString());
SendRequest();
}
else
{
GetError("-1");
}
}
catch
{
GetError("-9");
}
}
Оттуда же. Тип полей PaymSubjTp, Amount, FeeSum - int, всех остальных - string.
Amount.ToString().Length > 0 и т.п. всегда true, а вот ноль или отрицательное значение спокойно пропустят.
Интересно, разработчики хоть знают, что функции умеют принимать и возвращать данные? :)
+158
if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/3);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/3);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==3 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/4);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
}
else {
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
};
Про переменные явно автор не слышал...
+135
private void SendRequest()
{
try
{
HttpWebRequest HTTPRequest;
try
{
HTTPRequest = (HttpWebRequest)WebRequest.Create(this.Host + this.Request);
HTTPRequest.ClientCertificates.Add(this.certificate);
}
catch
{
throw new Exception("-2");
}
try
{
HttpWebResponse response = (HttpWebResponse)HTTPRequest.GetResponse();
Stream stream = response.GetResponseStream();
TextReader xml = new StreamReader(stream, Encoding.GetEncoding(1251));
this.Response = xml.ReadToEnd();
stream.Close();
response.Close();
}
catch
{
throw new Exception("-3");
}
GetError("0");
}
catch (Exception ex)
{
GetError(ex.Message);
this.Response = "ОШИБКА!";
}
}
Оттуда же. Круговорот исключений в природе.
+133
public void ExtIdGen()
{
try
{
Random rnd = new Random();
string uin = "";
for (int i = 0; i < 20; i++)
{
uin += rnd.Next(10).ToString();
}
this.ExtId = uin;
GetError("0");
}
catch
{
GetError("-6");
}
}
private void GetError(string error_code)
{
switch (error_code)
{
case "0":
this.LastErrorCode = 0;
this.LastErrorDescription = "Нет ошибок";
break;
// -1 .. -5
case "-6":
this.LastErrorCode = -6;
this.LastErrorDescription = "Ошибка при получении идентификатора запроса";
break;
}
}
LastErrorCode, LastErrorDescription, ExtId - public поля.
Там весь класс написан в таком стиле, с вызовами GetError, принимающими номер ошибки в виде строки, молчаливым catch-ем всех исключений и т.п.
+156
public function catalog_add() {
if (Route::is_post()) {
$this->L->view = false;
$errors = array();
$Company = new Model_Companies();
$Company->fillFromArray($_POST['companies']);
if (!$Company['cats_id']) {
$errors[] = 'Не выбрана категория';
}
if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['startdate'])) {
$errors[] = 'Неверный формат начала периода размещения';
}
if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['enddate'])) {
$errors[] = 'Неверный формат конца периода размещения';
}
if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_start'])) {
$errors[] = 'Неверный формат начала действия приоритетной позиции';
}
if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_end'])) {
$errors[] = 'Неверный формат конца действия приоритетной позиции';
}
//проверка на существования графика работы
$noSchedule = true;
foreach ($_POST['schedule'] as $key => $value) {
if (isset($value['work'])) {
$noSchedule = false;
break;
}
}
if ($noSchedule) {
$errors[] = 'Не указано ни одного рабочего дня';
} else {
//проверка рабочего времени
foreach ($_POST['schedule'] as $key => $value) {
if (isset($value['work'])) {
if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['end'])) {
$errors[] = 'Неверный формат времени работы в ' . strtolower(Model_Schedule::$days[$key]);
} else {
//проверка грамотности, конец больше начала
if (strtotime($value['start']) > strtotime($value['end'])) {
$errors[] = 'Конец работы должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
} else {
//провека обеда
if (isset($value['lunch'])) {
if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_end'])) {
$errors[] = 'Неверный формат времени обеда в ' . strtolower(Model_Schedule::$days[$key]);
} else {
//проверка грамотности границ обеда
if (strtotime($value['lunch_start']) > strtotime($value['lunch_end'])) {
$errors[] = 'Конец обеденного перерыва должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
} else {
//проверка что обед вмещается в рабочее время
if ($value['lunch_start'] < $value['start'] || $value['lunch_end'] > $value['end']) {
$errors[] = 'Обед выходит за рамки указанного рабочего времени в ' . strtolower(Model_Schedule::$days[$key]);
}
}
}
}
}
}
}
}
}
//todo: сделать проверку на занятость приоритетной позиции в выбраной категории в указанный период
if (!count($errors)) {
//если нет ошибок то пишем
$Company->save();
foreach ($_POST['schedule'] as $key => $value) {
if (isset($value['work'])) {
$Schedule = new Model_Schedule();
$Schedule->fillFromArray($value);
$Schedule['day'] = $key;
$Schedule['companies_id'] = $Company['id'];
$Schedule->save();
}
}
}
echo json_encode($errors);
}
}
проверки, такие проверки
+134
private byte Summ(byte a, byte b, byte p)
{
return Or(Or(Or(And(p, Not(a)), And(p, Not(b))), Or(And(b, Not(a)), And(b, Not(a))))Or(And(a, Not(b)),And(a, Not(p))), ()) ;//тут я и сломался
}