- 1
Видели ли Вы демотиватор, где изображены путин и лукашенко?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Видели ли Вы демотиватор, где изображены путин и лукашенко?
Встав на табуретку, коротышка очень похожий на путина прёт лукаша в зад.
0
#!/bin/sh
rm -rf /home/project/*
FOLDER=/home/project
cp ./*.php $FOLDER
cp -r css img js $FOLDER
FILES=$(find css js templates -type f -regex '.*.\(js\|css\|twig\)')
for f in $FILES; do
echo "$f"|grep twig 1>/dev/null
r=$?
if [ "$r" -eq 0 ]; then
minify --type html "$f" --output $FOLDER
else
minify "$f" --output $FOLDER
fi
done
лучший код, пользуйтесь
проверено ShellCheck!
+1
private Map<Iterable<ItemStack>, Predicate<ItemStack>> getSubInventories(Map<Iterable<ItemStack>, Predicate<ItemStack>> subInventories, EntityPlayer player) {
InventoryPlayer inv = player.inventory;
ItemStack heldItem = inv.getCurrentItem();
int wireless = tile.getNetwork().getSetting(NetworkSettings.NETWORK_WIRELESS);
if((wireless >> 1 & 1) == 1) {
subInventories.put(Lists.newArrayList(heldItem), NOT_EMPTY);
}
if((wireless >> 2 & 1) == 1) {
subInventories.put(inv.offHandInventory, NOT_EMPTY);
}
if((wireless >> 3 & 1) == 1) {
subInventories.put(inv.mainInventory.subList(0, 9), stack -> !stack.isEmpty() && (heldItem.isEmpty() || heldItem != stack));
}
if((wireless >> 4 & 1) == 1) {
subInventories.put(inv.armorInventory, NOT_EMPTY);
}
if((wireless >> 5 & 1) == 1) {
if(FluxNetworks.proxy.baublesLoaded) {
if(player.hasCapability(BaublesCapabilities.CAPABILITY_BAUBLES, null)){
IItemHandler handler = player.getCapability(BaublesCapabilities.CAPABILITY_BAUBLES, null);
subInventories.put(() -> new ItemHandlerIterator(handler), NOT_EMPTY);
}
}
}
return subInventories;
}
+1
const getSizeString = (size: number) => {
const mesuarments = ["Б", "кБ", "МБ", "ГБ"];
let i = 0;
for (; size/1024 > 1; size /= 1024, i++)
;
return ${Math.floor(size) === size ? size : (size).toFixed(1)} ${mesuarments[i]};
}
+2
public void addDisplayMethodNoAttribute()
{
addHeaderMethod();
pyScript.append("def doPrint(row, columns):\n");
pyScript.append(" line=\"\"\n");
pyScript.append(" for column in columns:\n");
pyScript.append(" if(line == \"\"):\n");
pyScript.append(" line = line + str(row[column])\n");
pyScript.append(" else:\n");
pyScript.append(" if(column == \"translations\"):\n");
pyScript.append(" line = line + separator+ \"[\"\n");
pyScript.append(" buf = \"\"\n");
pyScript.append(" for item in row[column]:\n");
pyScript.append(" if(buf != \"\"):\n");
pyScript.append(" buf = buf + \", \"\n");
pyScript.append(
" buf = buf + \"[\" + str(item[\"source\"]) + \", \" + item[\"code\"] + \", \" + item[\"comment\"] + \"]\"\n");
pyScript.append(" line = line + buf + \"]\"\n");
pyScript.append(" else:\n");
pyScript.append(" line = line + separator + str(row[column])\n");
pyScript.append(" print(line)\n");
pyScript.append("\n");
pyScript.append("list = df.collect()\n");
pyScript.append("for row in list:\n");
pyScript.append(" doPrint(row, df.columns)\n");
pyScript.append("\n");
addSessionDestroy();
generatePySparkScript();
}
Мне пытались объяснить что так лучше из-за того что не все люди знают питон, и из-за этого будем генерить его в Java.
0
http://hackage.haskell.org/package/haskelldb-2.1.1/docs/Database-HaskellDB-BoundedList.html#t:N94
−2
/**
* Refresh JWT.
* @returns New tokens.
*/
static refreshToken(): Observable<BaseResponseInterface<SignInResponse>> {
const http = InjectorInstance.get<HttpClient>(HttpClient);
this.isRefreshingToken = true;
setTimeout(() => (this.isRefreshingToken = false), 15000);
return http
.post<BaseResponseInterface<SignInResponse>>(environment.API.REFRESH_TOKEN, {
accessToken: localStorage.getItem('auth_token'),
refreshToken: localStorage.getItem('refresh_token')
})
.pipe(
tap(response => {
this.isRefreshingToken = false;
this.storeTokens(response.data.token, response.data.refreshToken);
})
);
}
Когда уверен в своем сервере. Или просто сдался.
+1
var XMLHttpRequest = function(XHR, type, listener) {
return function() {
var xhr = new XHR;
xhr.addEventListener(type, listener);
return xhr;
};
}(XMLHttpRequest, 'loadend', function(e) {
if (this.status == 0) {
console.log(e.type, 'network error');
} else {
console.log(e.type, this.status);
}
});
// js-library code...
0
namespace belugina{
struct Node {
int key;//информационное поле
Node*next;//адресное поле
};
struct point {
char*name;//информационное поле
int age;//информационное поле
point*next;//адресное поле
};
struct Single_List {//структура данных
int Data; //информационное поле
Single_List *Next; //адресное поле
};
Single_List *Head; //указатель на первый элемент списка
Single_List *Current; //указатель на текущий элемент списка (при необходимости)
void Make_Single_List (int n,Single_List** Head){
if (n > 0) {
(*Head) = new Single_List();
//выделяем память под новый элемент
cout << "Введите значение ";
cin >> (*Head)->Data;
//вводим значение информационного поля
(*Head)->Next=NULL;
//обнуление адресного поля
Make_Single_List(n-1,&((*Head)->Next));
}
}
void Print_Single_List(Single_List* Head) {
if (Head != NULL) {
cout << Head->Data << "\t";
Print_Single_List(Head->Next);
//переход к следующему элементу
}
else cout << "\n";
}
Single_List* Insert_Item_Single_List(Single_List* Head,
int Number, int DataItem){
Number--;
Single_List *NewItem=new(Single_List);
NewItem->Data=DataItem;
NewItem->Next = NULL;
if (Head == NULL) {//список пуст
Head = NewItem;//создаем первый элемент списка }
else {//список не пуст
Single_List *Current=Head;
for(int i=1; i < Number && Current->Next!=NULL; i++)
Current=Current->Next;
if (Number == 0){
//вставляем новый элемент на первое место
NewItem->Next = Head;
Head = NewItem;
}
else {//вставляем новый элемент на непервое место
if (Current->Next != NULL)
NewItem->Next = Current->Next;
Current->Next = NewItem;
}
}
return Head;
}
Single_List* Delete_Item_Single_List(Single_List* Head,
int Number){
Single_List *ptr;//вспомогательный указатель
Single_List *Current = Head;
for (int i = 1; i < Number && Current != NULL; i++)
Current = Current->Next;
if (Current != NULL){//проверка на корректность
if (Current == Head){//удаляем первый элемент
Head = Head->Next;
delete(Current);
Current = Head;
}
else {//удаляем непервый элемент
ptr = Head;
while (ptr->Next != Current)
ptr = ptr->Next;
ptr->Next = Current->Next;
delete(Current);
Current=ptr;
}
}
return Head;
}
bool Find_Item_Single_List(Single_List* Head,
int DataItem){
Single_List *ptr; //вспомогательным указатель
ptr = Head;
while (ptr != NULL){//пока не конец списка
if (DataItem == ptr->Data) return true;
else ptr = ptr->Next;
}
return false;
}
void Delete_Single_List(Single_List* Head){
if (Head != NULL){
Delete_Single_List(Head->Next);
delete Head;
}
}
//удаляем непервый элемент .
У человека проблемы не только с кодом но и с русским языком.
0
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЭтапРемонт.Номер КАК Номер
|ИЗ
| Документ.ЭтапРемонт КАК ЭтапРемонт
|ГДЕ
| ЭтапРемонт.Основание = &Основание";
Запрос.УстановитьПараметр("Основание", Объект.Ссылка);
Выб = Запрос.Выполнить().Выбрать();
Выгрузка = Запрос.Выполнить().Выгрузить();
Количество = Выб.Количество();
Если Количество > 0 Тогда
Ссыль = Выгрузка[0].Номер;
ЭтаФорма.Элементы.Этап.Заголовок = Документы.ЭтапРемонт.НайтиПоНомеру(Ссыль);
КонецЕсли;
Задача кода - установить текстовое представление документа в надписи на форме, для этого автор сначала получает номер требуемого документа, потом проверяет выборку на наличие записей, а потом по полученному номеру ищет ссылку методом НайтиПоНомеру.
Говнокод в том, что:
1. Ссылку можно получить сразу же в запросе
2. Выгружать выборку в коллекцию значений нет никакой необходимости, можно всё необходимое взять из выборки, она для этого и предназначена.
Автор - один из франей Абакана.