-
Лучший говнокод
- В номинации:
-
- За время:
-
-
−2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
this.params.IsCellEditable = function(rowNumber, cellNumber) {
cellNumber == 1;
this.params.ButtonList = this.params.ButtonList.filter(b=>b[0] === "OnRefresh");
let textContr = new CTextArea('textContr');
textContr.SourceName = "value";
textContr.ViewName = "Params";
textContr.ComEdit = true;
this.params.arrEditObj[1] = textContr;
}
Найдено в нашем проекте в старом модуле, в авторстве никто не признаётся.
Во-первых, строка 2 бессмысленна. Во-вторых, всё последующее имело бы хоть какой-то смысл _вне_ этой функции, а внутри уже на строке 3 выкидывает ошибку, потому что контекст там и есть this.param из первой строчки. В-третьих, строка 3 призвана выкидывать из тулбара виджета this.param все кнопки, кроме OnRefresh, но на самом деле она там только одна и есть. В-четвёртых, строчки 7 и 8 просто лишние (ну, это из логики используемого в проекте движка следует). В-пятых, из названия метода можно предположить (и это действительно так), что он должен бы возвращать булевское значение, но он всегда возвращает только undefined и, таким образом, все ячейки виджета оказываются нередактируемыми — что совсем лишает смысла создание контрола для редактирования в строках 5—9.
Редкостная бредятина. Кто-то в полном затмении писал, и даже десяти секунд не потратил на тестирование.
torbasow,
06 Мая 2016
-
+1
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
<?
/*
Bitrix Cleaner v2.2 - https://github.com/creadome/bitrixcleaner
Быстрая очистка 1С-Битрикс
(c) 2015 Станислав Васильев - http://creado.me
[email protected]
*/
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php';
$trash = array(
'cache' => array(
'/bitrix/cache/' => 'Неуправляемый кеш',
'/bitrix/managed_cache/' => 'Управляемый кеш',
'/bitrix/html_pages/' => 'HTML кеш'
),
'files' => array(
'/upload/resize_cache/' => 'Кеш изображений'
)
);
if ($_GET['clean']) {
BXClearCache(true);
$GLOBALS['CACHE_MANAGER']->CleanAll();
$GLOBALS['stackCacheManager']->CleanAll();
$staticHtmlCache = \Bitrix\Main\Data\StaticHtmlCache::getInstance();
$staticHtmlCache->deleteAll();
foreach ($trash['files'] as $files => $name) DeleteDirFilesEx($files);
}
function countsize($directory) {
$count = array('file' => 0, 'size' => 0);
foreach (scandir($directory) as $file) {
if ($file != '.' && $file != '..') {
if (is_dir($directory.$file)) {
$inner = countsize($directory.$file.'/');
$count['file'] += $inner['file'];
$count['size'] += $inner['size'];
} else {
$count['file'] ++;
$count['size'] += filesize($directory.$file);
}
}
}
return $count;
}
?>
<table>
<tr>
<th>Описание</th>
<th>Путь</th>
<th>Файлы</th>
<th>Размер</th>
</tr>
<?
foreach ($trash as $type) {
foreach ($type as $directory => $name) {
$count = countsize($_SERVER['DOCUMENT_ROOT'].$directory);
?>
<tr>
<td><?=$name?></td>
<td><a href="/bitrix/admin/fileman_admin.php?lang=ru&path=<?=$directory?>"><?=$directory?></a></td>
<td><?=$count['file']?></td>
<td><?=round($count['size'] / 1048576, 2)?> Мб</td>
</tr>
<?
}
}
?>
</table>
<input type="button" value="Очистить" class="adm-btn-save" data-action="clean">
Битрикс. порадовала строчка "'/bitrix/cache/' => 'Неуправляемый кеш'". Оказывается даже адептам битрикса не подвластно управление кешом самого битрикса :D
https://github.com/creadome/bitrixcleaner/blob/master/cleaner/cleaner.php
Keeper,
05 Мая 2016
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
<ul id="top_menu" alias="{$alias}" parentAlias="{$parentAlias}">
{foreach $items as $i}
{*{$i->parentId == null} :)*}
{if $i->parentId == null}
<li class="{if $alias === $i->alias || $parentAlias === $i->alias}active{/if}"><a href="{Yii::app()->params->languageUrl}/{$i->alias}" onclick="return false;">{$i->lang->name}</a>
<ul class="sub" style="display: none;">
{foreach $items as $ii}
{if $ii->parentId == $i->id}
<li class="{if $alias === $ii->alias || $parentAlias === $ii->alias}active{/if}">
{if $ii->hasAction > 0}
<a href="{if $ii->alias!==''}{Yii::app()->params->languageUrl}/{$ii->alias}{/if}">{$ii->lang->name}</a>
{else}
<a href="{Yii::app()->params->languageUrl}/{$i->alias}{if $ii->alias!==''}/{$ii->alias}{/if}">{$ii->lang->name}</a>
{/if}
</li>
{/if}
{/foreach}
</ul>
</li>
{/if}
{/foreach}
</ul>
Типичное меню на фреймворках.
В данном случае Yii
M-A-X,
26 Апреля 2016
-
−9
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
function delMessage(id,posted) {
if (confirm("Удалить сообщение от "+posted+" ?")) {
if('corporate'=='common')
{
window.location="/forum/theme/?id=22213&delmsg="+id;
}
else if ('corporate'=='olimpic')
{
window.location="/competitions/kazah/team/?teamId=0&tab=forum&themeId=22213&delmsg="+id;
}
else if ('corporate'=='city')
{
window.location="/city/?id=&tab=forum&themeId=22213&delmsg="+id;
}
else
{
window.location="/corporation/?id=1401150&tab=forum&themeId=22213&delmsg="+id;
}
}
}
function addMessage() {
document.messageForm.submit();
}
function closeMessage() {
var textarea=document.getElementById("messagetext");
if (textarea) textarea.value="";
var div=document.getElementById("submit");
if (div) div.style.display="none";
}
function showSubmit() {
showElement("submit");
}
function messageKeyDown(event) {
if (!event) event=window.event;
if (event.keyCode==13 && event.ctrlKey || event.keyCode==10) {
addMessage();
}
}
d_fomenok,
15 Апреля 2016
-
+1
- 1
- 2
- 3
- 4
- 5
// 1188 references
internal static string CombinePaths(string firstPath, string secondPath)
{
return Path.Combine(firstPath, secondPath);
}
- Шо это было?!!
- Cэкономили точку. 1188 раз )))))
RadChand,
08 Апреля 2016
-
+4
- 1
- 2
- 3
- 4
- 5
- 6
class Panel
{
// ...
friend class Panel;
// ...
}
Нашёл такое в хедерах VGUI1 -- игрового тулкита от Valve для Gold Source.
Объясните, умные люди, зачем?
a1batross,
01 Апреля 2016
-
+2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
public int Add(T item)
{
var p = m_parent as DataTreeRecord;
var i = item as DataTreeRecord;
if (m_newData == null || m_newData.Length == 0) m_newData = new T[8];
if (m_newData.Length <= m_newCount) Array.Resize(ref m_newData, m_newData.Length * 2);
if (p != null && i != null)
{
i.Parent = p;
}
m_newData[m_newCount++] = item;
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new T[1] { item }));
return this.Count - 1;
}
Мы любим ебаться с array. List? Зачем, он медленный! Мы напишем свой ORM с аррэями и PHP внутри няшного сишарпика.
Приходилось работать с этим проектом. Это просто кладезь говнокода, и это ещё не самое ужасное место.
kerman,
31 Марта 2016
-
−3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
// if too many vertices, start a new mesh;
if (vertices.length > 65000) {
// finalize the old mesh
mesh.triangles = triangles;
mesh.vertices = vertices;
mesh.colors = colors;
mesh.computeWireframe();
mesh.computeNormals();
if (mesh.vertices.length) {
meshes.push(mesh);
}
не добавляем пустые меши, нафиг они нам
makc3d,
23 Марта 2016
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
FROM centos:7
RUN yum update -y && yum -y install openssh-server ssh
RUN echo 'root:123456' | chpasswd
RUN passwd -u root
RUN ssh-keygen -A
RUN ssh-keygen -t rsa -b 4096 -C "[email protected]" -N "" -f /root/.ssh/id_rsa
RUN cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
RUN chmod 600 /root/.ssh/id_rsa.pub
ADD ./ssh_config /etc/ssh/ssh_config
ADD ./sshd_config /etc/ssh/sshd_config
CMD ["/bin/sh", "-c", "{ while :; do /usr/sbin/sshd -eD ; done }"]
docker build --name trolleybus-is-hleba .
Вот так вот.
wvxvw,
16 Марта 2016
-
+4
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#!/bin/bash
echo "(find-file \"$1\")" >> ~/.emacs.d/cmdfile
В emacs периодически дергается
(defun read-cmd-file ()
(load-file "~/.emacs.d/cmdfile")
(delete-file "~/.emacs.d/cmdfile"))
(run-with-idle-timer 1 t 'read-cmd-file)
гуру emacs ЛОРа
CHayT,
03 Марта 2016