LINUX.ORG.RU

Сообщения pozitiffcat

 

Как вы проектируете поведение.

Форум — Development

Так:

class Book {
    private String name;
    private String text;

    public void store(Place place) {
        place.store(name, text);
    }
}

interface Place {
    void store(String name, String text);
}

class Library implements Place {
    @Override
    public void store(String name, String text) {
        // запись в БД
    }
}

// кто-то вызывает
book.store(place);

Или так:

class Book {
    private String name;
    private String text;

    public String getName() {
        return name;
    }

    public String getText() {
        return text;
    }
}

class Library {
    public void store(String name, String text) {
        // запись в БД
    }
}

// кто-то вызывает
library.store(book.getName(), book.getText());

Первый способ гибче, но оверхед есть небольшой, к тому же интерфейс book может распухнуть, если мы начнем много чего пихать в него, например проверку прав доступа при чтении. Второй способ тупой, но не тестируемый и мы раскрываем сущность book.

И вообще, как вы подходите к проектированию системы, когда получаете ТЗ?

 ,

pozitiffcat
()

Много ли таких, кто юзает TDD или Test first?

Форум — Development

Я практикую TDD уже давно, но не видел реального человека или проекта, которые используют данную технологию. Лично я для себя сделал вывод, что дизайн классов удобнее придумать заранее, хотябы на шаг, два вперед, потом закодить, затем запилить интеграционные тесты.

А вы, что думаете по этому поводу, уважаемые.

Перемещено mono из talks

 ,

pozitiffcat
()

Помогите в решении ООП, TDD.

Форум — Development

Опять от меня ООП-шный вопрос. Взгляните на код:

interface Job {
    String getName();
    Location getLocation();
    int getActionRadius();
    boolean isInArea(Location otherLocation);
}

class ViewData {
    .....
}

interface ViewDataBuilder {
    ViewData buildFromJob(Job job);
}

Вот тут у нас Job, который предоставляет геттеры для своих данных и какое-то поведение, isInArea().

Для отображения данных в представлении необходимы методы доступа. Т.к. разработка ведется через тестирование (TDD), то Job является интерфейсом.

Суть топика: Мне ненравится, то, что Job это интерфейс, но его необходимо использовать в каком-то другом классе, на который пишется тест. С другой стороны интерфейс тут неудобно.

Может кто-нибудь видит какие-то варианты решения?

 ,

pozitiffcat
()

Принцип ООП, говори что делать, а не спрашивай.

Форум — Development

Хочу спросить, может, кто решил эту проблему.

Есть класс в который я что-либо могу добавить и затем изменить.

Как мне написать на это тест (то что действительно изменилось), не получая вновь элемента для сравнения с новым?

class Some {
  ....

  public void edit(int id, String data) {
    // тут я забыл реализацию, или она корявая
  }

  ....
};

void testCaseSomeShouldBeEdit() {
  Some some = new Some();
  some.add(1, "data1");
  some.edit(1, "data2");

  // не хочу делать так:
  assertEquals(some.getData(1), "data2");

  // но надо как-то проверить
  // в клиентском коде я никогда не буду просить данные
}

 

pozitiffcat
()

Завершение работы от имени юзера.

Форум — Admin

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

 

pozitiffcat
()

Battle For Wesnoth Делиться деньгами с союзниками

Форум — Games

Как в весноте делиться деньгами с союзниками?

 

pozitiffcat
()

Бритва Оккама

Форум — Development

Небольшой холивар на тему. Что делать если класс «распух»? Ведь правило гласит: «Не плоди лишних сущностей без нужды». Нужды нет, я могу нахерачить методов внутри одного класса, мне это не помешает, но как быть с «Принципом единственной обязанности»? Кто, что думает по этому поводу?

 

pozitiffcat
()

Skype низкое разрешение при демонстрации экрана.

Форум — General

Суть таковая - 2 машины, моя Arch, чужая Windows. Я демонстрирую свой экран чужому - он видит четко. Чужой демонстрирует экран мне, я вижу все размытое, как будто сжали картинку в 320x240 и растянули на весь экран, ни букв ни курсора не видно. Кто нибудь сталкивался? Я на офф. сайте читал их форум, уже год почти как поддержка забила на эту проблему, может есть какие-нибудь пути обхода проблемы?

 

pozitiffcat
()

Arch KDE5

Форум — General

Привет всем! Вобщем как я ставил, накатил kde целиком (это 4 версия), и накатил поверх plasma, снес конфликтующие зависимости. Итог - постоянно падает на мелочах, например часто в настройках падает. Не работает системный трей, qt4 приложения не могут теперь пихать туда свои иконки. Вобщем это все нормально или ЧЯДНТ?

 ,

pozitiffcat
()

Хождение по определенному порту через определенное ethernet устройство

Форум — Admin

Проблема такая: На работе есть инет, но закрыты некоторые порты. Я хочу подключать android устройство, и по определенным портам, ходить через андроид устройство. Как мне этого добиться? Arch.

 , , ,

pozitiffcat
()

Зацените игру Land a UFO (Посади НЛО)

Форум — Talks

В игре нужно успеть посадить НЛО на платформу. Но задача не так проста, как кажется на первый взгляд. Игроку дается платформа, с разными цветами по краям. НЛО может приземлиться платформу только в том случае, если платформа повернута нужным цветом к экрану. С каждым разом скорость увеличивается и играть становится сложней. Не огорчайтесь, если вы пропустили или разбили НЛО, в определенные моменты вместо НЛО к Вам будет выпадать жизнь. Жизнь можно собирать любым цветом платформы. Всего игроку дается пять жизней. Соревнуйтесь с друзьями, получайте адреналин, бейте все рекорды!

https://play.google.com/store/apps/details?id=org.malcdevelop.las

не тролльте сильно ))

 , ,

pozitiffcat
()

Установка guitarpro на arch64

Форум — Admin

Ругается на

ошибка: цель не найдена: binutils-multilib

multilib подключено. И вообще такого пакета тупо нет в yaourt

 ,

pozitiffcat
()

systemd jack autostart

Форум — Admin

jack работает корректно, осталось только запустить при загрузке системы. Написал Unit

$ cat /etc/systemd/system/jackd.service 
[Unit]
Description=JACK
After=sound.target

[Service]
User=alexey
ExecStart=/usr/bin/jackd -R -P89 -d alsa -d hw:DS -r 44100 -p128 -n3

[Install]
WantedBy=multi-user.target
При запуске фейлов нет, но не стартует ЗЫ sudo systemctl enable jackd.service делал

 , ,

pozitiffcat
()

Программные Барабаны

Форум — Multimedia

Ищу сабж. Нужно тыкать мышкой по неважно чему и слышать барабаны, желательно что бы биндилось на клавиатуру (не MIDI). Есть такое вообще?

pozitiffcat
()

Книги по программированию для электронных книг

Форум — Talks

Приобрел недавно книгу 6 дюймов, так вот не могу теперь найти не одной читабельной книги. Кто подскажет где найти можно? Бибилиотека может есть какая?

 

pozitiffcat
()

Mint Mate Win+Space

Форум — Desktop

Привык после Ubuntu к Win+Space смене раскладки. В настройках Mate такую выбрать нельзя. Кто знает как победить?

pozitiffcat
()

Дистрибутивы linux тесты энергосбережения

Форум — Talks

Кто может даст ссылочку, или выскажет все ИМХО. Выбираю дистриб для Нетбука, без всяких там компизов...

pozitiffcat
()

Unity8 Desktop

Форум — Talks

Пощупал сейчас Unity8, очень не понравилось, что они пошли по стопам Windows 8, только получилось хуже. Неужели в следующем релизе нам навяжут это г-но? Как тогда работать, мне до этого очень нравилась Unity своей простотой и организацией, больше чем xfce и тому подобные.

 ,

pozitiffcat
()

дистрибутив linux с наименьшим потреблением аккумулятора

Форум — Talks

у меня Ubuntu с tlp, держит 3 часа (серф в нете, программирование). Мастдай 8.1 в тех же условиях 5 с копейками держит. Ну как так. Кто что может посоветовать?

 ,

pozitiffcat
()

Какие принципы ООП лучше всего юзать?

Форум — Development

Demetra SOLID YAGNI KISS DRY

Прочие. Какие аргументы за. Просто напрмер YAGNI противоречит SOLID, какие принципы все же лучше.

Перемещено mono из talks

 

pozitiffcat
()

RSS подписка на новые темы