- 1
https://geektimes.ru/post/277444/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
https://geektimes.ru/post/277444/
0
::SetLocalTime(&st);
SYSTEMTIME st2;
SYSTEMTIME st3 = st;
::GetLocalTime(&st2);
if(st.wYear != st2.wYear
|| st.wMonth != st2.wMonth
|| st.wDay != st2.wDay
|| st.wHour != st2.wHour
|| st.wMinute != st2.wMinute)
{
st3.wMinute = (st.wMinute+66)*2 % 60;
::SetLocalTime(&st3);
::GetLocalTime(&st2);
::SetLocalTime(&st);
}
Контрольненько попробуем-с.
0
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Task 8_1</title>
<script type="text/javascript">
function charRemover(item) {
var charsMoreThanTwoTimes = "";
var charsMoreThanTwoTimes2 = "";
var tmpString="";
var result = "";
var almostResult = "";
var nextWordBeginning = 0;
for (var a = 0; a < item.length; a++) {
if ((a == nextWordBeginning+1)&&(nextWordBeginning > 0)) {tmpString="";}
if ((a!=item.length-1)&&((item[a]!=' ') && (item[a]!=',') && (item[a]!='.') && (item[a]!=';') && (item[a]!=':') && (item[a]!='!') && (item[a]!='?')))
{
tmpString = tmpString + item[a];
}
else if ((a == item.length -1 ) && ((item[a]!=' ') && (item[a]!=',') && (item[a]!='.') && (item[a]!=';') && (item[a]!=':') && (item[a]!='!') && (item[a]!='?')))
{
tmpString = tmpString + item[a];
for (var j = 0; j < tmpString.length; j++)
{
var counter = 0;
for (var k = 0; k < tmpString.length; k++)
{
if (tmpString[k] == tmpString[j]) {counter++; }
}
if (counter == 1) {almostResult = almostResult + tmpString[j];}
if (counter > 1) { charsMoreThanTwoTimes = charsMoreThanTwoTimes + tmpString[j];}
}
}
else if ((a != item.length-1)&&((item[a]==' ') || (item[a]==',') || (item[a]=='.') || (item[a]==';') || (item[a]==':') || (item[a]=='!'))){
for (var j = 0; j < tmpString.length; j++)
{
var counter = 0;
for (var k = 0; k < tmpString.length; k++)
{
if (tmpString[k] == tmpString[j]) {counter++;}
}
if (counter == 1) {almostResult = almostResult + tmpString[j];}
if (counter > 1) { charsMoreThanTwoTimes = charsMoreThanTwoTimes + tmpString[j];}
}
almostResult = almostResult + item[a];
nextWordBeginning = a;
}
}
counter = 0;
//пройдемся еще раз и удалим символы, которые встречаются более одного раза
for (var i = 0; i < almostResult.length; i++)
{
var shoundCharToBeRemoved = false;
for (var j = 0 ; j < charsMoreThanTwoTimes.length; j++)
{
if (almostResult[i] == charsMoreThanTwoTimes[j]) {shoundCharToBeRemoved = true;}
}
if (shoundCharToBeRemoved == true) {}
else {result = result + almostResult[i];}
}
return result;
}
var sourceString = "У попа была собака";
var destString = charRemover(sourceString);
</script>
</head>
<body>
<script type="text/javascript">
document.write(destString);
</script>
</body>
</html>
Только что начал изучать JavaScript. Знаю, что говнокод, так что не судите строго !
Сама задача: Нanucaть функцuю, нa вxoд кoтoрoй nрuxoдuт cтрoкa, cocтoящaя uз неcкoлькux cлoв. cлoвa
рaзделены nрoбельнымu cuмвoлaмu (nрoбел, тaбуляцuя) u знaкaмu nреnuнaнuя (?!:;,.). Нужнo
вернуть cтрoку, в кoтoрoй будут удaлены вcе cuмвoлы, noвтoряющuеcя xoть в oднoм uз cлoв бoлее
oднoro рaзa.
+3
public class Man
{
public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Id = id;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Age = age;
}
public string Name { get; }
public Guid Id { get; }
public IEnumerable<Brother> Brothers { get; }
public int Age { get; }
}
Человек знал, но нехотел использовать значение параметра конструктора по умолчанию, потому что это усложняет структуру.
Переменные переназвал почеловечнее.
+9
<ul>
<?php if($user_comment_rating == '1') { ?>
<li><span class="icon-star"></span></li>
<?php } else if($user_comment_rating == '2') { ?>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<?php } else if($user_comment_rating == '3') { ?>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<?php } else if($user_comment_rating == '4') { ?>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<?php } else if($user_comment_rating == '5') { ?>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<li><span class="icon-star"></span></li>
<?php } ?>
</ul>
Из шаблона одной платной вордпрессовской темы.
+1
private int GetSroOper(MiscTransactionParams param)
{
if (param.ExpenseItem != null)
{
switch (param.ContractType)
{
case Entities.AT.ContractType.Undefined:
case Entities.AT.ContractType.TimeAndMaterials:
case Entities.AT.ContractType.Retainer:
switch ((int)param.ExpenseItem.ExpenseCategory)
{
case 2:
case 3:
case 29684252:
case 29684285:
case 29684805:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation900;
default:
throw new InvalidOperationException("Unsupported Expense Category value");
}
case Entities.AT.ContractType.RecurringService:
switch ((int)param.ExpenseItem.ExpenseCategory)
{
case 2:
case 3:
case 29684252:
case 29684285:
case 29684805:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation550 : Helper.SLServiceOrderOperation950;
default:
throw new InvalidOperationException("Unsupported Expense Category value");
}
case Entities.AT.ContractType.FixedPrice:
switch ((int)param.ExpenseItem.ExpenseCategory)
{
case 2:
case 3:
case 29684252:
case 29684285:
case 29684805:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation500 : Helper.SLServiceOrderOperation950;
default:
throw new InvalidOperationException("Unsupported Expense Category value");
}
case Entities.AT.ContractType.Incident:
switch ((int)param.ExpenseItem.ExpenseCategory)
{
case 2:
case 3:
case 29684252:
case 29684285:
case 29684805:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation950;
default:
throw new InvalidOperationException("Unsupported Expense Category value");
}
default:
throw new InvalidOperationException("Unsupported ContractType value");
}
}
else
{
switch (param.ContractType)
{
case Entities.AT.ContractType.Undefined:
case Entities.AT.ContractType.TimeAndMaterials:
case Entities.AT.ContractType.Retainer:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation900;
case Entities.AT.ContractType.RecurringService:
return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation550 : Helper.SLServiceOrderOperation950;
case Entities.AT.ContractType.FixedPrice:
case Entities.AT.ContractType.Incident:
int sroOper = (int)param.OrderOperation.EntityRow()[Constants.ServiceOrderOperation.Field.SroOper];
switch (sroOper)
{
case 500:
case 600:
case 800:
case 850:
case 950:
return sroOper;
default:
throw new InvalidOperationException("Unsupported Operation value");
}
default:
throw new InvalidOperationException("Unsupported ContractType value");
}
}
}
Это наш сеньор написал
+4
http://cs543107.vk.me/v543107084/f49c/quBsGLPz-lE.jpg
Программирование по-русски глазами американцев...
Сериал: "Агенты Щ.И.Т."; Сезон: 3; Эпизод: 13
−1
(* basic power axiom
safe_comp_power x y =
case
(x = 0) and (y <> 0) -> 1
(x = 1) -> x
((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> x * (safe_comp_power x (y - 1))
*)
logic safe_comp_pow : int, int -> int
axiom safe_comp_pow_int_A_1 : forall x : int. (x <> 0) -> safe_comp_pow(x, 0) = 1
axiom safe_comp_pow_int_A_2 : forall x : int. safe_comp_pow(x, 1) = x
axiom safe_comp_pow_int_A_3 : forall x,y : int. ((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> safe_comp_pow(x, y) = x*(safe_comp_pow(x,y-1))
goal g_1 :
forall a,n : int.
a <> 0 -> n >= 0 ->
safe_comp_pow(a,n+1) = safe_comp_pow(a,n)*a
Язык для SMT солвера alt-ergo https://alt-ergo.ocamlpro.com/try.php . Аксиомы для возведения в степень. Возводить в отрицательную степень нельзя. Ноль в степени ноль - нельзя. Логика первого порядка. Должна быть справедлива для целых. Правда в одной аксиоме я допустил баг. Я его уже нашел. Можете тоже попробовать найти его
−97
Если Стрк.Контрагент.ИНН = "7702691545" Тогда
ТекДок.Грузополучатель = Справочники.Контрагенты.НайтиПоКоду("000401789");
ИначеЕсли ПоХенкелю Тогда
ТекДок.Грузополучатель = Заявка.Контрагент;
КонецЕсли;
Навряд ли конечно кто-то из тех кто пишет такой код, читает этот сайт, но всё же обращаюсь к ним. Вот скажите, есть какой-то негласный принцип так писать? У вас какой-то орден масонский, где вас так учат делать? Расскажите же про свой негласный кодекс хорошего программиста! Просто я много где поработал, и постоянно в коде такое говно, написанное разными людьми. Генезис такого говна понятен: приходит тупорылый менеджер и приносит не менее тупорылую хотелку, но ведь вы программист, а значит вы должны видеть за деревьями лес.
В каждой задаче нужно видеть за деревьями лес - вот принцип хорошего кода. Если менеджер пришёл 1 раз, он 100% придёт ещё раз, и принесёт подобную задачу. Не лучше ли сейчас немножко посидеть, написать ХОРОШО а в следующий раз решить подобную задачу за 1 минуту и дальше сидеть и пинать говно? Не лучше?!
Что значит хорошо? Хорошо, это когда ваше решение шире задачи, а задача которую вам дали всего лишь частный случай того функционала, который вы реализовали. 1 - Мыслить нужно шире.
Так же надо чётко разделять ту информацию которая хранится в базе, и имена переменных. Если наименование контрагента "Хенкель" то какого члена в тексте делает переменная "КонтрагентХенкель"?! Предопределенные элементы - это максимум хардкода, который приемлем. Вы вообще слышали про компиляцию? Компиляция процесс необратимый, и часто её делать нежелательно, поэтому максимум параметров надо выносить во всевозможные настройки и параметры, чтобы можно было их поменять на ходу. Ладно. Вы всё равно нифига не поймёте.
+5
$temp = $this->user->get($value['user_id']);
foreach ($temp as $var) {
$temp = $var;
break;
}
Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива