- 1
- 2
- 3
- 4
- 5
- 6
use Carp qw(carp cluck croak confess);
carp "warning";
cluck "warning with backtrace";
croak "fatal error";
confess "fatal error withbacktrace";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−103
use Carp qw(carp cluck croak confess);
carp "warning";
cluck "warning with backtrace";
croak "fatal error";
confess "fatal error withbacktrace";
Говорящие имена функций такие говорящие придирчивые, кудахтающие, каркающие, исповедывающиеся...
+162
foreach ($foo as $key1=>$value) {
if ($foo[$key1][parent] == 0 ) {
echo '<li><a href="/index.php?cPath='.$key1.'">'.$foo[$key1][name].'</a>';
foreach ($foo as $key2=>$value) { if ($foo[$key2][parent] == $key1){echo '<ul>'; break; }};
foreach ($foo as $key2=>$value) {
if ($foo[$key2][parent] == $key1) {
echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'">'.$foo[$key2][name].'</a>';
foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '<ul>'; break;} };
foreach ($foo as $key3=>$value) {
if ($foo[$key3][parent] == $key2) {
echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'">'.$foo[$key3][name].'</a>';
foreach ($foo as $key4=>$value) { if ($foo[$key4][parent] == $key3){echo '<ul>'; break;} };
foreach ($foo as $key4=>$value) {
if ($foo[$key4][parent] == $key3) {
echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'">'.$foo[$key4][name].'</a>';
foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '<ul>'; break;} };
foreach ($foo as $key5=>$value) {
if ($foo[$key5][parent] == $key4) {
echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'">'.$foo[$key5][name].'</a>';
foreach ($foo as $key6=>$value) {if ($foo[$key6][parent] == $key5) {echo '<ul>'; break;} };
foreach ($foo as $key6=>$value) {
if ($foo[$key6][parent] == $key5) {
echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'_'.$key6.'">'.$foo[$key6][name].'</a>';
}
}
foreach ($foo as $key6=>$value) { if ($foo[$key6][parent] == $key5){echo '</ul>'; break;} };
echo '</li>';
}
}
foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '</ul>'; break;} };
echo '</li>';
}
}
foreach ($foo as $key4=>$value) {if ($foo[$key4][parent] == $key3) {echo '</ul>'; break;} };
echo '</li>';
}
}
foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '</ul>'; break;} };
echo '</li>';
}
}
foreach ($foo as $key2=>$value) {if ($foo[$key2][parent] == $key1) {echo '</ul>'; break;} };
echo '</li>';
}
}
Правильное понимание рекурсии, привитое картинками вконтакте.
+10
align.h:
#pragma once
#include "stdint.h"
namespace tblib
{
template <typename T>
struct check_align
{
uint8_t c;
T t;
check_align();
check_align(const check_align&);
check_align&operator=(const check_align&);
};
template <typename T>
struct align_value
{
enum { value = sizeof(check_align<T>)-sizeof(T) };
};
template <int N>
struct align_by_size;
template <>
struct align_by_size<1> { uint8_t guts; };
template <>
struct align_by_size<2> { uint16_t guts; };
template <>
struct align_by_size<4> { uint32_t guts; };
template <>
struct align_by_size<8> { uint64_t guts; };
template <typename T>
struct align
{
align_by_size<align_value<T>::value> guts;
};
};
класс массива (начало), файл tbarr.h:
#pragma once
#include "stdint.h"
#include "assert.h"
#include <algorithm>
#include "tbslice.h"
#include "align.h"
// FUCK THE EXCEPTIONS
template <typename T>
void construct (T* first, T* last) {
while (first!=last) {
new(first) T;
++first;
}
}
template <typename T>
void destroy (T* first, T* last) {
while (last!=first) {
--last;
last->~T();
}
}
namespace tblib
{
template <typename T, int N>
class base_array
{
union
{
uint8_t memory [sizeof(T[N])];
align<T> aligner;
};
public :
мой выравниватель
намного красивее бустовского, не так ли?
+155
var partner_id = location.href;
//Определить значение четвертого сегмента
var i = 1;
while (i <= 5) {
partner_id = partner_id.substr(partner_id.indexOf('/') + 1);
i++;
}
var pos = partner_id.indexOf('/');
if (pos > 0) {
partner_id = partner_id.substr(0, pos);
}
Урлопарсинг от Папке.
+127
// ------- CLICKING STUFF IN CONTAINERS -------
if ((!( src in usr.contents ) && (((!( isturf(src) ) && (!( isturf(src.loc) ) && (src.loc && !( isturf(src.loc.loc) )))) || !( isturf(usr.loc) )) && (src.loc != usr.loc && (!( istype(src, /obj/screen) ) && !( usr.contents.Find(src.loc) ))))))
if (istype(usr, /mob/living/silicon/ai))
var/mob/living/silicon/ai/ai = usr
if (ai.control_disabled || ai.malfhacking)
return
else
return
Взято из кода обработки нажатия одной опенсорсной онлайн-игрушки. Зачем, за что и почему?
−159
sub trim
{
my ($string) = @_;
for ($string)
{
s/^\s+//;
s/\s+$//;
}
return $string;
}
for ($string) такой for ($string)...
http://ideone.com/JWu2Kt
−159
if ("0 but true" == 0) {
print "Zero! ";
}
if ("0 but true") {
print "But true...";
}
The current default implementation always returns true without actually doing anything. Actually, it returns "0 but true" which is true but zero. That way you can tell if the return value is genuine or just the default.
http://ideone.com/8FzrUI
Zero! But true...
+165
if (($pos = strpos($_SERVER["REQUEST_URI"], "?")) !== false)
{
$params = substr($_SERVER["REQUEST_URI"], $pos+1);
parse_str($params, $_GET);
Bitrix, 404.php
Посоны не слышали про $_SERVER[QUERY_STRING], зато, сука, неймспейсы знают!
+66
@NamedQuery(
name = "ImageBankTag.findAllTags",
query = "select distinct tag from AdTag tag where tag.tag in (:tags) order by tag.tag"
)
})
@Data
@Entity
@Table(name = "image_bank_tags",uniqueConstraints = {@UniqueConstraint(columnNames={"tag"})})
public class ImageBankTag implements Serializable{
. . .
@NamedQuery(
name = "AdTag.findAllTags",
query = "select distinct tag from AdTag tag where tag.tag in (:tags) order by tag.tag"
)
})
@Data
@Entity
@Table(name = "admanager2_tags",uniqueConstraints = {@UniqueConstraint(columnNames={"tag"})})
public class AdTag implements Serializable{
Такой вот своеобразный джоин, с подстраховкой.
+75
ObservableStorage.ConfigurationTuple<Integer, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationEnd>>> build = RemoteObservableStorage
.configurationBuilder()
.use("foo").as(Foo.class)
.use("foo1").as(Foo.class)
.use("ids").as(Integer.class)
.build();
И тут Остапа понесло :)
Всем тайп сейфити посоны