-
Лучший говнокод
- В номинации:
-
- За время:
-
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
def normalize_phone(phone):
if (not phone):
return
normalized_phone = phone.replace("(", "").replace(")", "").replace("+", "").replace("-", "").replace(" ", "")
if normalized_phone[0] == "7":
p = list(normalized_phone)
p[0] = "8"
normalized_phone = "".join(p)
if normalized_phone[0] == "9":
normalized_phone = "8" + normalized_phone
return normalized_phone
Питонокод пхпешника.
хуита,
17 Января 2018
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
#!/bin/sh
#
# Simple script to enable CPU cores automatically again if cooling state is
# 3 or lower.
#
set -e
get_cooling_state() {
echo $(cat /sys/devices/virtual/thermal/cooling_device0/cur_state)
}
enable_cpu() {
if [ $(cat /sys/devices/system/cpu/cpu$1/online) = 0 ]; then
echo 1 > /sys/devices/system/cpu/cpu$1/online || true
fi
}
while true; do
for c in 0 1 2 3; do
if [ $(get_cooling_state) -le 3 ]; then
enable_cpu $c
fi
done
sleep 5
done
Вот такой замечательный код занимается защитой процессора в стандартных сборках под OrangePi на Allwinner H5
https://github.com/orangepi-xunlong/OrangePiH5_scripts/blob/master/platform-scripts/OrangePi_corekeeper.sh
Думаю, говорить о том, как такой код работает, и насколько лучше был бы тут простенький скрипт, скажем, на питоне, смысла нет
losetup,
10 Декабря 2017
-
−2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
#include <iostream>
#include <typeinfo>
class S
{
public:
S* _next;
};
int main (int argc, char **argv)
{
for (S* sw1 = new S(), sw2 = sw1->_next;;)
{
std::cout << typeid(sw1).name() << std::endl;
std::cout << typeid(sw2).name() << std::endl;
break;
}
return 0;
}
какого хрена этот говнокод не хочет скомпилиться :)
ASD_77,
26 Июля 2017
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
function get_rand_word () {
$list = explode(" ", file_get_contents('http://www.gnu.org/licenses/gpl-3.0.txt'));
$cwords = rand (2,5);
$string = '';
$r = 0;
while($r++<$cwords) {
$string .= preg_replace('~[^a-z]+~', '', strtolower($list[rand(0, (count($list)-1))]));
}
return $string;
}
Одним прекрасным утром поступила жалоба, что сервер ддосят. Канал на 100Mb был полностью забит входящим трафиком. Ддосили с www.gnu.org...
deadmorose,
18 Июля 2017
-
−101
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Функция ПроверкаЗаполнения()
Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
Предупреждение("Не выбран контрагент!");
Возврат Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ВалютаДокумента) Тогда
Предупреждение("Не выбрана валюта документа!");
Возврат Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДатаОкончания) Тогда
Предупреждение("Не выбрана дата окончания периода сверки!");
Возврат Ложь;
КонецЕсли;
Если ДатаОкончания < ДатаНачала Тогда
Предупреждение("Неверно задан период сверки расчетов!");
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Как нужно дрочить пользаков.
blMbl,
23 Ноября 2016
-
+1514
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
[151] ns-flow-pair-entry(n,c) ::= ns-flow-pair-yaml-key-entry(n,c)
| c-ns-flow-map-empty-key-entry(n,c)
| c-ns-flow-pair-json-key-entry(n,c)
[152] ns-flow-pair-yaml-key-entry(n,c) ::= ns-s-implicit-yaml-key(flow-key)
c-ns-flow-map-separate-value(n,c)
[153] c-ns-flow-pair-json-key-entry(n,c) ::= c-s-implicit-json-key(flow-key)
c-ns-flow-map-adjacent-value(n,c)
[154] ns-s-implicit-yaml-key(c) ::= ns-flow-yaml-node(n/a,c) s-separate-in-line?
/* At most 1024 characters altogether */
[155] c-s-implicit-json-key(c) ::= c-flow-json-node(n/a,c) s-separate-in-line?
/* At most 1024 characters altogether */
If the “?” indicator is omitted, parsing needs to see past the implicit key to recognize it as such. To limit the amount of lookahead required, the “:” indicator must appear at most 1024 Unicode characters beyond the start of the key. In addition, the key is restricted to a single line.
Note that YAML allows arbitrary nodes to be used as keys. In particular, a key may be a sequence or a mapping. Thus, without the above restrictions, practical one-pass parsing would have been impossible to implement.
Столкнулся, значит, с проблемой. ЙАМЛ парсер для Го не может распарсить даже примеры из спецификации.
Заглянул в исходники - ад и погибель. Копипаста сишного кода из libyaml с косметическими изменениями. Функции по 200+ строк с кучей ифов, регулярками и т.п. Решил заглянуть в спецификацию в надежде, что может можно самому как-то... в спецификации - ад и погибель. Копипаста с грамматическими ошибками, и тьма их. Ну а как дошел до этого места, так сразу и понял, что тут уже делать больше нечего.
wvxvw,
19 Августа 2016
-
+1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
if (test)
{
_inquiryLineRepository.RequestToOrderAPI(model, idetails, true);
}
else
{
_inquiryLineRepository.RequestToOrderAPI(model, idetails);
}
индусы радуются и танцуют групповые танцы, когда видят, что подобный код пишет кто то кроме них
and1dufresn3,
04 Августа 2016
-
+4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
/**
* @param int $day
* @return bool
*/
protected function isWorkingDay($day)
{
return $day % 8 <= 5;
}
Cпособ определить, является ли указанный день (передается номер дня в неделе от 1 до 7) рабочим. Чем автора не устроил return $day <= 5 - непонятно..
feversocial,
11 Июля 2016
-
+3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
template<class... Bases>
struct MaminVisitor: public boost::static_visitor<>, public Bases... {
MaminVisitor(Bases&&... bases) : Bases(std::move(bases))... { }
};
template<class Variant, class... F>
void match(Variant &&v, F &&... functors) {
typedef MaminVisitor<typename std::decay<F>::type...> visitor_t;
boost::apply_visitor(visitor_t(std::move(functors)...), std::forward<Variant>(v));
}
int main() {
boost::variant<int, double, std::string> v = "ololo";
match(v,
[&](auto x) {
std::cout << "auto branch " << x << std::endl;
},
[&](double x) {
std::cout << "double branch " << x << std::endl;
}
);
return 0;
}
Сделал няшный матч, а на гцц не конпелируется.
http://ideone.com/J9ulsr
kurwa-nextgen,
05 Июля 2016
-
+14
- 1
- 2
- 3
Note: If your <username> starts with the "u" or "x" character, change
C:\MSys\1.0\home\<username>\config.h and double all backslashes
in VLC_COMPILED_BY constant.
Из гайда по сборке VLC.
bormand,
13 Июня 2016