- 1
public function is_isset($key)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
public function is_isset($key)
+8
function getEntryByName(name) {
var entries = [];
var ent;
while(ent = getNextDBEntry()) {
entries.push(ent);
}
for(var i = 0; i < entries.length; i++) {
if(entries[i].getName() == name) {
return entries[i];
}
}
return nullEntry;
}
ААА, мои глаза!!!
+2
static void generatorPass()
{
string letters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
StringBuilder initPass = new StringBuilder("", 6);
for (int i = 0; i < 6; i++)
{
initPass.Append(0);
}
int count = 0;
for (int i = 0; i < 6; i++)
{
for (int a = 0; a < letters.Length; a++)
{
initPass[i] = letters[a];
for (int b = 0; b < letters.Length; b++)
{
initPass[i + 1] = letters[b];
for (int c = 0; c < letters.Length; c++)
{
initPass[i + 2] = letters[c];
for (int d = 0; d < letters.Length; d++)
{
initPass[i + 3] = letters[d];
for (int e = 0; e < letters.Length; e++)
{
initPass[i + 4] = letters[e];
for (int f = 0; f < letters.Length; f++)
{
initPass[i + 5] = letters[f];
Console.WriteLine(count++ + "]----> Проверяется пароль: [" + initPass.ToString() + "]");
}
}
}
}
}
}
}
}
Кажется, что то пошло не так . Как можно сделать это проще ?
+5
function insertComment(comment) {
// todo: optimize this shit
for (var j = 0; j < $scope.comments.length; ++j) {
if ($scope.comments[j].thread_id == comment.thread_id) {
$scope.comments[j] = comment;
return;
}
if ($scope.comments[j].comment_id < comment.comment_id) {
$scope.comments.splice(j, 0, comment);
return;
}
}
$scope.comments.push(comment);
}
for (var i = 0; i < data.length; ++i) {
comment = data[i];
comment.text = $sce.trustAsHtml(comment.text);
comment.postedFuzzy = fuzzyDate(new Date(comment.posted), new Date());
insertComment(comment);
}
Оптимальное набивание комментов в сток за O(n^2).
http://146.185.130.46/ngk/
+1
public function selectValueType($value)
{
$type = null;
if (App::helperPhone()->parseMobile($value)) {
$type = 1; //телефон
}
if (App::helperEmail()->validate($value)) {
$type = 2; //email
}
return $type;
}
А потом в десятке методов:
public function getLogin($value)
{
$type = $this->selectValueType($value);
switch ($type) {
case 1:
$type = 'phone';
break;
case 2:
$type = 'email';
break;
}
if ($type) {
$value = $type == 'phone' ? App::helperPhone()->parseMobile($value) : $value;
// ... прочий говнокод
}
}
Вот такие перлы достались в наследство. Приходится проводить полный рефакторинг :((
+2
.. Подставные Зомби .. продолжение
при наличии в Локации нескольких Фортов / Замков / Башен может сложиться ситуация ,что Защищать Форт
уже нечем и более удобно избрать местом занятия Алхимией какую-нибудь Башню . При этом может быть
что Пара Замков находиться под контролем не особо приветливой стороны хотя с ней есть Серый Нейтралитет.
как БелАякс понял из Серой Книги Некромантии в который было полно различных Серых Советов для
разных случаев : то в таком случае рекомендовалось от имени Белиара выставить на дорогу к Покинутому Форту любую
Зомби Группу обычно состоящую из 10 -ка Армий - особо указывалось что это должны быть Потрепанные Зомби
так как их потрепанный вид мог намекать на возможное скрытое Проклятие которое могла содержать
такая Зомби Группа : с одной стороны не Некроманту будет сложно определить так ли это , с другой
если это будет Некромант то тогда это будет наверняка Союзник к тому же Герой уже находится в Башне .
При наличии возможности обычную Башню можно было сделать Волшебной Башней или Серой Башней
и иметь возможность влиять на такие Зомби Группы .. но это был немного другой момент ,а именно в этом случае
даже необычный Герой скорее всего проедет мимо таковой Зомби Группы ,если будет куда ..
..а куда - это скорее всего туда к одному из двух замков из той Пары Замков . Чем по-сути обеспечивалась
безопасность Серой Башни и возможно Форта - ведь Замок был на порядок мощнее в обороне , если тот
удастся захватить - но тогда Бой с Зомби Группой не желателен если Герой не собирался штурмовать Форт
по той причине что если он штурманет Форт ,то на Замок ему уже сил не хватит : обычно выбирался более
приемлимый для Штурма Замок в котором можно было прилично долго Копить Силы ...
+5
// Если игрок временный то не даём изменять лимит
public void updatePlayerLimits(Long userId, int limitAmount) {
Player player = userComponent.getPlayer(userId);
if (player == null) {
throw new RuntimeException("Error on find user for updating user deposit limits, userId = " + userId);
}
if (player.isTemporary()) {
throw new RuntimeException("saveLimit-newAmount-tempPlayer-message");
}
player.setLimit(limitAmount)
}
// И где-то в контроллере админки
public void doSubmit() {
...
try {
getPlayerLimitComponent().updatePlayerLimits(getPlayerId(), 10);
}catch(RuntimeException e){
if(!e.getMessage().equals("saveLimit-newAmount-tempPlayer-message"))
throw e;
}
}
Просто молча не даём админам изменять лимиты игроку если он временный
+1
/* This is the famous internal descriptor that UDFs can use, too. */
typedef struct paramdsc {
ISC_UCHAR dsc_dtype;
signed char dsc_scale;
ISC_USHORT dsc_length;
short dsc_sub_type;
ISC_USHORT dsc_flags;
ISC_UCHAR *dsc_address;
} PARAMDSC;
Комментарии сохранены
−98
ЭтоДокумент = Метаданные.Документы.Содержит(ЭтотОбъект.Метаданные())
Примечательно, что вызывается из модуля формы документа, больше нигде процедура с ЭТИМ не используется.
В документе проверяем, что это документ :/
+5
//Сегодня у меня вопрос по говнокоду.
//Как у нас на говнокодике реализовано сколько непросмотренных комментариев в каждом треде?
//Неужели на каждого юзера заводится счётчик и инкрементится при добавлении в каждой теме?
//Неужели на каждого юзера на каждый комментарий заводится флаг, сообщающий какой комментарий прочитан, а какой нет?