На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! В разделе обсуждаются следующие темы:
1) Процесс разработки программного обеспечения.
2) Определение требований к программному обеспечению.
3) Составные части и процесс проектирования (см. Шаблоны проектирования).
4) Документирование программного продукта(проекта).
5) Руководство разработкой программного обеспечения.
6) Проектирование пользовательского интерфейса.
7) Контроль версий проекта (см. Управление версиями в Subversion, Стратегии использования svn).
Модераторы: ElcnU
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Safety code , warning as error
    Не могу не написать, крик души.
    Маленький кусок из кода

    ExpandedWrap disabled
      /* 1.*/   int val = list.removeFirst();
      /* 2. */  System.out.println(" data = " + val);


    Случайно стер вторую строку , собрался запускать, вижу "The value of the local variable val is not used - compile error" т.k. в опциях стояло
    warning as error и оно меня по сути спасло, а без этой опции мог бы час ошибку искать.
    Когда то был холивар на эту тему, это его продолжение ;)

    P.S. На всякий случай, к C/C++ прямого отношения не имеет.
      JoeUser
      Верни обратно тему , это касается общих вопросов, это common programming issue,
      такие темы в C/C++, в крайнем случае holy wars.
        Цитата settler @
        Случайно стер вторую строку , собрался запускать, вижу "The value of the local variable val is not used - compile error" т.k. в опциях стояло
        warning as error и оно меня по сути спасло, а без этой опции мог бы час ошибку искать.

        Какую ошибку? Не используемую переменную ? :lol:
        А в чем ошибка заключается? В С++ такой же варнинг получил бы.
          Цитата settler @
          в опциях стояло
          warning as error и оно меня по сути спасло

          Я всегда включаю максимально возможный уровень предупреждений и обработку их как ошибок.
          Это действительно выручает и даже спасает.
          Особенно в таких случаях, когда, что-то случайно удалил, изменил, забыл и так далее.
            Цитата KILLER @
            А в чем ошибка заключается? В С++ такой же варнинг получил бы.

            Ты опять ни хрена не понял , читай лучше ;)
            JoeUser Верни тему , это не ;) касается только Java,
            даже Киля это понял ;)
              Цитата settler @
              Ты опять ни хрена не понял , читай лучше ;)

              А что тут понимать? В твоем коде нет критических ошибок, на которые можно потратить час времени, есть не используемая переменная, от нее ни холодно, ни жарко, не знаю как java, а С++ компилятор при оптимизации ее скорее всего вообще выкинет из кода программы. Тут два варианта - либо ты только начал java изучать, нашел какой то варнинг, и решил блеснуть остатками мозгов. Либо ты реально по жизни такой.
              Твой пример не несет вообще никакой ценности, тут даже обсуждать нечего.
              Вот поясни мне, в чем заключается ошибка в этом коде?
              Вот тебе пример выполнения твоего кода:
              https://ideone.com/RomugS

              Ошибка в том, что ты не вывел значение переменной на экран или что? :scratch:

              Добавлено
              Я бы понял, если убрав вторую строчку, оптимизатор у тебя удалил бы первую строчку - тогда это была бы проблема. Но в твоем случае там идет вызов метода. Что оптимизатор выкинет вызов метода, из за того что твоя переменная ниже никак не используется?
                Цитата KILLER @
                Вот поясни мне, в чем заключается ошибка в этом коде?

                В вызове метода, который что-то возвращает и это что-то было поригнорировано. По-умолчанию, компилятор/IDE не обращают на это особого внимания. Можно включить предупреждение на такую ситуацию, можно (видимо) — ошибку компиляции. Зачем такое может быть нужно:

                1) хотя семантика языка допускает игнорирование возвращаемых значений, во многих случаях это может привести к логическим ошибкам, например, при использовании Hibernate, ты делаешь что-то в таком духе:
                ExpandedWrap disabled
                  SomeEntity entity = getEntityFromOutside() // e.g. from POST-request body
                  repository.save(entity);
                  return entity;

                Это не правильно, т.к. entity после вызова save — всё то же старое entity из тела запроса (возможно, без ID, например)
                Правильно так:
                ExpandedWrap disabled
                  SomeEntity entity = getEntityFromOutside() // e.g. from POST-request body
                  return repository.save(entity);

                repository.save возвращает обновлённый объект entity, каким он является после сохранения в БД. Если ты спросишь: почему repository.save просто не обновляет поля переданному ему entity? Отвечу: не знаю, возможно, Hibernate (или, точнее, Spring Repository) нужно как-то настраивать для этого, но, по-умолчанию, переданный entity не модифицируется, проверено. И вряд ли repository.save имеет такую сигнатуру (возвращающую объект того же типа), а не void, просто так, от нечего делать.

                И таких (которые что-то возвращают, но проверять возвращаемое значение не обязательно) методов много, в т.ч. в JDK. Видимо, из-за их большого количества и редкости реально необходимости проверки из резульата, по-умолчанию предупреждения отключены (или JDK'шные классы и методы добавлены в какой-то список исключений, хз).

                2) (ближе к примеру ТС): независимо от того, выкинет компилятор неиспользуемую переменную или нет, она захламляет код, который потом ещё читать не только компилятору, и чем меньше в коде хлама, тем он понятней.

                В Go, например, неиспользуемые идентификаторы приводят сразу к ошибке компиляции, ибо нефиг разводить мусор на ровном месте.

                Цитата KILLER @
                ты только начал java изучать

                Цитата KILLER @
                Вот тебе пример выполнения твоего кода

                Зачем ты создаёшь ещё один ArrayList? (хотя разница есть, но для примера не существенна)
                Зачем ты создаёшь объект Ideone, хотя можно было просто сделать метод getItem статическим?
                Зачем вообще вся эта махинация со списком, если можно было просто вернуть какое-то число?
                Имена методов в Java принято начинать со строчной буквы.
                  Цитата korvin @
                  В вызове метода, который что-то возвращает и это что-то было поригнорировано. По-умолчанию, компилятор/IDE не обращают на это особого внимания. Можно включить предупреждение на такую ситуацию, можно (видимо) — ошибку компиляции. Зачем такое может быть нужно:

                  И что на поиск этой ошибки обычно час времени уходит у тру папок?

                  Цитата korvin @
                  Это не правильно, т.к. entity после вызова save — всё то же старое entity из тела запроса (возможно, без ID, например)
                  Правильно так:

                  А причем тут твои примеры и его пример? Зачем ты мне приводишь эти примеры свои?
                  Вот ты реально решил рассказать мне искрене всю эту муть? Почитай сообщения этого товарища. Если бы он привел конкретный пример, когда у него случилась попаболь - и сказал, чуваки, вот тут мне компиль помог - я бы не возражал.
                  Но его конкретный пример не имеет академической или даже практической ценности. Так можно взять абсолютно любой варнинг на выбор, и написать то, что написал он. И чего? Почитай хоть перлы этого товарисча, прежде чем за него писать вот эти какие то банальные вещи.
                  А можно еще вызвать один и тот же метод два раза подряд, а потом думать - а че у меня другие вообще значения, а можно забыть написать new, а можно все что угодно сделать. И че? Давайте тут заведем тему на каждый варнинг компиля?

                  Цитата korvin @
                  Зачем ты создаёшь ещё один ArrayList? (хотя разница есть, но для примера не существенна)
                  Зачем ты создаёшь объект Ideone, хотя можно было просто сделать метод getItem статическим?
                  Зачем вообще вся эта махинация со списком, если можно было просто вернуть какое-то число?
                  Имена методов в Java принято начинать со строчной буквы.

                  Я на Java не пишу вообще, я показал просто всю тупость его примера. Ну забыл он вывести на экран переменную, и чего?

                  Добавлено
                  Цитата korvin @
                  Зачем ты создаёшь объект Ideone, хотя можно было просто сделать метод getItem статическим?

                  Затем, чтобы эмулировать целиковый объект, а не просто вызвать статическую функцию. У него в примере метод вызывается через объект, а не через класс. Соответственно скорее всего он не статический. С чего бы мне делать метод getItem статическим, объясни? Какой в этом смысл? Может быть тогда проще ООП выкинуть и все методы в Java писать статическими?

                  Цитата korvin @
                  Зачем вообще вся эта махинация со списком, если можно было просто вернуть какое-то число?

                  Что бы показать, что это не просто какой то метод, который возвращает какое то число, а он реально что то делает, создает внутри себя список и возвращает элемент по индексу. Этот пример написан на коленке ради демонстрации тупости его поста, уверяю тебя в продакшн он не попадет. Почему я не могу написать именно так, как я написал? Это запрещено? Я вот захотел написать именно вот так. А если бы я хотел написать по другому, то я бы написал по другому, просто вернул бы число. Но ведь очевидно же, что если я не просто вернул какое то число, значит я захотел написать именно так, как написал.
                  И вообще, почему ты у меня спрашиваешь - зачем я написал так, как написал, а у ТС не спрашиваешь зачем он написал так, как он написал?

                  Цитата korvin @
                  Имена методов в Java принято начинать со строчной буквы.

                  Кем принято? Ворнинг вроде не летит, если писать с большой буквы, какие проблемы?

                  Добавлено
                  Цитата korvin @
                  Зачем ты создаёшь ещё один ArrayList? (хотя разница есть, но для примера не существенна)

                  Так в вашей Java список иницилизации передать в конструктор нельзя, пришлось писать Arrays.asLis, а так как я сначала хотел инициализировать через конструктор списком иницилизации, то получилась вот такая копипаста, потому что Arrays.asLis я скопипастил с другого места. Хотя new ArrayList<Integer> и можно было и убрать, но мне было лень это делать.

                  Добавлено
                  Еще можно забыть инициализировать переменную к слову, или инициализировать не тем значением, а потом ниже ее использовать и час ловить ошибку. Создавай тему на этот варнинг. Про неиспользуемую переменную тема уже есть. Обязательно теперь нужно создать тему про неинициализированную или неправильно инициализированную переменную.

                  Добавлено
                  Да, и если че - тема эта была создана в разделе С++ - зачем она была там создана и какая цель этой темы, korvin объясни мне? А то товарисч слился, а я смотрю ты в теме.
                  В С++ нет такого варнинга? Или он вопрос какой то задал? Или он что то путное написал? Ты можешь пояснить - зачем появилась эта тема, и какая у нее цель, и почему она вообще до сих пор находится в тематическом разделе, а не в клозете? О чем тут холиварить?

                  Добавлено
                  Цитата settler @
                  Маленький кусок из кода

                  Причем судя по его словам - этот код попадет в прод. В котором написано:
                  Цитата settler @
                  /* 1.*/ int val = list.removeFirst();
                  /* 2. */ System.out.println(" data = " + val);

                  Цитата settler @
                  Случайно стер вторую строку , собрался запускать, вижу "The value of the local variable val is not used - compile error" т.k. в опциях стояло
                  warning as error и оно меня по сути спасло, а без этой опции мог бы час ошибку искать.

                  Что ты не спросил у ТС почему выводится val, а называется в консоле data ? Какая же это data, когда это value, а не данные?
                  И что типа если бы warning as error у него не стояло, то в этом коде он бы час ошибку искал? :lol:
                  korvin, причем тут твои хибернейты, когда проблема еще глубже, как можно искать час ошибку, если ты выводишь переменную в консоль, а ее там нет? Придумай что нибудь получше своих примеров. Тут проблема то глубже :lool:

                  Добавлено
                  korvin, а почему ты такие глупые вопросы мне поназадавал, а у ТС забыл спросить - почему просто не написать:
                  ExpandedWrap disabled
                    System.out.println(" data = " + list.removeFirst());

                  ???

                  Добавлено
                  Зачем в его коде вообще взялась эта переменная, если она используется только в одном месте, судя по его крику души?

                  Добавлено
                  Цитата korvin @
                  2) (ближе к примеру ТС): независимо от того, выкинет компилятор неиспользуемую переменную или нет, она захламляет код, который потом ещё читать не только компилятору, и чем меньше в коде хлама, тем он понятней.

                  А в его примере она код не захламляет? Почему?
                  Сообщение отредактировано: KILLER -
                    Цитата KILLER @
                    И что на поиск этой ошибки обычно час времени уходит у тру папок?

                    Не знаю, что там у «тру папок», наверное, они такие ошибки не допускают.

                    Цитата KILLER @
                    А причем тут твои примеры и его пример? Зачем ты мне приводишь эти примеры свои?
                    Вот ты реально решил рассказать мне искрене всю эту муть? Почитай сообщения этого товарища. Если бы он привел конкретный пример, когда у него случилась попаболь - и сказал, чуваки, вот тут мне компиль помог - я бы не возражал.
                    Но его конкретный пример не имеет академической или даже практической ценности. Так можно взять абсолютно любой варнинг на выбор, и написать то, что написал он. И чего? Почитай хоть перлы этого товарисча, прежде чем за него писать вот эти какие то банальные вещи.

                    Затем, что ты ведёшь себя как школьник. Впрочем, как обычно.

                    Цитата KILLER @
                    Затем, чтобы эмулировать целиковый объект, а не просто вызвать статическую функцию.

                    Зачем тебе «эмулировать целиковый объект»?

                    Цитата KILLER @
                    У него в примере метод вызывается через объект, а не через класс. Соответственно скорее всего он не статический.

                    Это не играет никакой роли.

                    Цитата KILLER @
                    С чего бы мне делать метод getItem статическим, объясни? Какой в этом смысл?

                    С того, что он никак не связан с объектом логически и архитектурно.

                    Цитата KILLER @
                    Может быть тогда проще ООП выкинуть и все методы в Java писать статическими?

                    Юношеский максимализм?

                    Цитата KILLER @
                    Кем принято?

                    Java-программистами, разработчиком языка, «корпорацие Добра», всеми, в общем.

                    Цитата KILLER @
                    какие проблемы?

                    Такие же, как если бы кто-то писал плюсовый код ВоТ_ТаКиМ_ПрИкОлЬнЫм_СтИлЕм();

                    Цитата KILLER @
                    Так в вашей Java список иницилизации передать в конструктор нельзя, пришлось писать Arrays.asLis, а так как я сначала хотел инициализировать через конструктор списком иницилизации, то получилась вот такая копипаста, потому что Arrays.asLis я скопипастил с другого места. Хотя new ArrayList<Integer> и можно было и убрать, но мне было лень это делать.

                    Ага, т.е. «либо ты только начал java изучать, нашел какой то варнинг, и решил блеснуть остатками мозгов. Либо ты реально по жизни такой.»?

                    Я к тому, что претензии и примеры кода от тебя как человека, не знакомого с Java выглядят точно так же как изначальный пост ТС'а.

                    Цитата KILLER @
                    Да, и если че - тема эта была создана в разделе С++ - зачем она была там создана и какая цель этой темы, korvin объясни мне?

                    Это не ко мне вопрос.

                    Цитата KILLER @
                    а я смотрю ты в теме.

                    В теме чего? Его мотивации / мыслительного процесса? Нет, не в теме.

                    Цитата KILLER @
                    причем тут твои хибернейты, когда проблема еще глубже, как можно искать час ошибку, если ты выводишь переменную в консоль, а ее там нет? Придумай что нибудь получше своих примеров. Тут проблема то глубже

                    Тут нет никакой «глубокой проблемы», зачем ты её выдумал — не понятно.

                    Цитата KILLER @
                    Зачем в его коде вообще взялась эта переменная, если она используется только в одном месте, судя по его крику души?

                    Почему ты задаёшь все эти вопросы мне, а не ТС?

                    Цитата KILLER @
                    а почему ты такие глупые вопросы мне поназадавал

                    Потому что ты ты понаписал херни не по существу с, якобы, «умным видом», при этом фактически оказался ничем не умнее ТСа.

                    Цитата KILLER @
                    а у ТС забыл спросить - почему просто не написать

                    Потому что, во-первых, пост не об этом, а во-вторых, смотри ниже:

                    Цитата KILLER @
                    А в его примере она код не захламляет? Почему?

                    Потому что она используется. С одной стороны, можно было бы написать в обну строку, как ты предложил, без промежуточной переменной, но, в, общем случае, лучше не использовать вызовы нечистых методов внутри чистых выражений (expressions).

                    Например тут есть краткое объяснение и пара полезных ссылок:
                    https://en.wikipedia.org/wiki/Command–query_separation
                    https://en.wikipedia.org/wiki/Uniform_access_principle

                    В целом, конечно, это не что-то суперкритичное, и тебе, как плюсовику, наверняка известенн этот небольшой сишный «паттерн» (впрочем, не знаю, как ты к нему относишься):

                    ExpandedWrap disabled
                      int nRead;
                      while ((nRead = in.read()) != -1) { // побочный эффект внутри expression
                          ...
                      }

                    Но в общем случае, так лучше не делать и на такой код IDE может выдать предупреждение (по-умолчанию, в IDEA и NetBeans ворнинг на подобный код, вроде, отключён, я его сам включаю в числе многих других).
                      Цитата korvin @
                      Не знаю, что там у «тру папок», наверное, они такие ошибки не допускают.

                      Ну вон в первом посте тру папка чуть час ошибку не искал, хорошо копилятор помог ему.

                      Цитата korvin @
                      Затем, что ты ведёшь себя как школьник. Впрочем, как обычно.

                      Какой школьник, ты о чем? Я просто высказал свою позицию, чтоб жирный тролль перестал забивать тематику своими тупыми постами, он во флейме всех уже достал, теперь решил в тематику видимо перебраться. А к чему твой первый пост, если по твоему я веду себя как школьник? Он что то проясняет или как?
                      Или может быть ты глаза кому то открыл, написав тот пост, что выше?

                      Цитата korvin @
                      Зачем тебе «эмулировать целиковый объект»?

                      Захотелось мне так. Или ты не читатель? А зачем я должен был писать там статическую функцию, которая возвращает число?

                      Цитата korvin @
                      Это не играет никакой роли.

                      Играет. В одном случае метод живет отдельно от класса, и может быть вызван без его создания, в другом случае метод не может быть вызван без создания экземпляра класса. Разве это не очевидно?

                      Цитата korvin @
                      С того, что он никак не связан с объектом логически и архитектурно.

                      Он выполняет свое предназначение, этого достаточно. У меня не было цели связывать что то логически и архитектурно, у меня была цель показать всю тупость первого поста. Я ее достиг.

                      Цитата korvin @
                      Юношеский максимализм?

                      Зачем ты ведешь себя как школьник? Как этот ответ вообще относится к тому, что ты процитировал? Тебе может быть возразить просто нечего?

                      Цитата korvin @
                      Java-программистами, разработчиком языка, «корпорацие Добра», всеми, в общем.

                      Ну так и флаг им в руки, этим Java-программистам, я не Java-программист. Можно я буду писать методы с большой буквы? Или ты мне не разрешаешь? :lol:

                      Цитата korvin @
                      Такие же, как если бы кто-то писал плюсовый код ВоТ_ТаКиМ_ПрИкОлЬнЫм_СтИлЕм();

                      Юниксоиды и всякие гнушники обычно и пишут таким прикольным стилем. Их право. Какое мне дело до них. А по существу есть что сказать?

                      Цитата korvin @
                      Ага, т.е. «либо ты только начал java изучать, нашел какой то варнинг, и решил блеснуть остатками мозгов. Либо ты реально по жизни такой.»?

                      Во первых я Java не начинал даже изучать, я на ней не пишу, тебе сколько раз повторять? Во вторых, ты в каждой дырке - затычка? Или за брата своего меньшего решил вписаться? :lol: Что это у тебя ни с того, ни с сего попаболь возникла от того, что я пресек тупой троллинг, тупого тролля? Он тебе каким то родственником является наверное? Уж не по интеллекту ли? :whistle:

                      Цитата korvin @
                      Я к тому, что претензии и примеры кода от тебя как человека, не знакомого с Java выглядят точно так же как изначальный пост ТС'а.

                      А я считаю что я привел хороший пример. Вся твоя критика свелась к тому что я не с той буквы метод обозвал, да не возвратил число в статическом методе, как тебе хотелось наверное. Значит больше придраться ты не нашел к чему. Соотвественно пример просто великолепен.

                      Цитата korvin @
                      Это не ко мне вопрос.

                      А к кому? Брат твой меньший слинял, ты за него решил дырку заткнуть, ну раз ты в теме, так и ответь мне на вопрос - какую цель преследует эта тема? Ты же там начал что то объяснять, видимо в теме.

                      Цитата korvin @
                      В теме чего? Его мотивации / мыслительного процесса? Нет, не в теме.

                      В теме того, что он хотел сказать создав эту тупую тему. Хватит отнекиваться, ты же начал за него писать, так будь добр отвечай до конца :whistle:

                      Цитата korvin @
                      Тут нет никакой «глубокой проблемы», зачем ты её выдумал — не понятно.

                      Я ничего не выдумывал, это у ТС проблема на столько глубока, что ошибку связанную с неиспользуемой переменной он ищет около часа. И ты судя по всему ровно такого же мнения, раз начал писать какую то хрень про хибернейты. Иначе зачем ты все это писал?

                      Цитата korvin @
                      Почему ты задаёшь все эти вопросы мне, а не ТС?

                      Это ведь очевидно, ТС слился, пришел ты и начал отвечать на мои вопросы адресованные ему, и критиковать мой супер код, соответственно я от тебя и требую пояснений. Ведь раз ты его пост не прокоментировал - а начал возражать мне, соответственно по твоему - его код вполне себе клевый. Вот я и спрашиваю тебя почему это он клевый с твоей точки зрения?

                      Цитата korvin @
                      Потому что ты ты понаписал херни не по существу с, якобы, «умным видом», при этом фактически оказался ничем не умнее ТСа.

                      Это с твоей точки зрения я написал херню. Потому что ты даже не понял какую цель преследовал этот пример. Притом что эту цель я прямым текстом описал в посте адресованном ТСу. Но пришел ты не разобравшись в деле написал херни с умным видом, при этом оказавшись ничем не умнее ТСа :lool:

                      Цитата korvin @
                      Потому что, во-первых, пост не об этом, а во-вторых, смотри ниже:

                      Ты трезвый вообще? Я у тебя спрашиваю - для чего ТС создал тему, какая у нее цель, к чему все это - ты мне отвечаешь, что ты не в теме. И тут же пишешь, что пост не об этом :lol: Так а о чем тогда пост? Ты не логичен и не последователен, и пишешь херню с юношеским максимализмом, преследуя цель хоть как то задеть оппонента. Но скажу честно - выходит у тебя не ахти. Выглядишь ты уныло.

                      Цитата korvin @
                      Потому что она используется.

                      Ну а почему бы вместо нее не поместить в то место вызов метода, как я написал выше? Какой в ней смысл, поясни?

                      Цитата korvin @
                      С одной стороны, можно было бы написать в обну строку, как ты предложил, без промежуточной переменной, но, в, общем случае, лучше не использовать вызовы нечистых методов внутри чистых выражений (expressions).

                      В каком общем случыае? И что такое нечистый метод? Чем он отличается от чистого метода? Что такое чистое выражение и чем оно отличается от нечистого выражения? Это какой то чисто сленг по понятиям?

                      Цитата korvin @
                      Например тут есть краткое объяснение

                      Какое объяснение? Объяснение чисто сленгу "нечистых функций" и "чистых выражений"? :lol: Т.е. какой то перец что то написал где то в коментарии на стековерфлоу и это стало мейнстримом? Или что?
                      Если эта переменная нигде больше не нужна, кроме как вывод куда то там, зачем ее нужно заводить? Почему ее нельзя напрямую вывести в метод?

                      Цитата korvin @

                      Интересно каким образом написанное по этим ссылкам имеет отношение к обсуждаемому? :scratch:

                      Цитата korvin @
                      while ((nRead = in.read()) != -1) { // побочный эффект внутри expression

                      А ты не путай волчий хрен и колбасу. В данном примере в цикле будет постоянно вызываться метод, что приведет к лишним накладным расходам. У ТС же в коде такой проблемы нет. Так как метод вызывается ровно 1 раз, и переменная используется ровно 1 раз.
                            Цитата KILLER @
                            В теме того, что он хотел сказать создав эту тупую тему.

                            В принципе да. Была создана тема в разделе "Общих вопросов по языку С/C++", с примером на Java, которая поднимала вопрос разработки вообще. Это нужно уметь.

                            Цитата settler @
                            warning as error и оно меня по сути спасло, а без этой опции мог бы час ошибку искать.

                            И простое бы предупреждение спасло - если бы была привычка писать чистый код и смотреть логи сборки.
                              Скрытый текст
                              Цитата JoeUser @
                              Тема перенесена из Java

                              И нахрена ты удалил две последние портянки и перенес тему в МШ? Без последних двух порятянок тут уже нечего обсуждать. Сносил бы тогда ее в клозет. А этому дегенерату банку бы прописать не мешало бы. Или нонче за оскорбления банки не принято давать? Или вы как то избирательно модерируете форум? Сам же писал - в тематике оскорбления равняются банке.
                              Пора походу валить отсюда...
                              Сообщение отредактировано: JoeUser -
                                Скрытый текст
                                Цитата KILLER @
                                И нахрена ты удалил две последние портянки и перенес тему в МШ?

                                Я предупреждал - на редактирование срача у меня нет времени! Ни желания.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0657 ]   [ 15 queries used ]   [ Generated: 19.03.24, 09:03 GMT ]