Как Вы проходите через неизбежный мотивационный “резкий спад” около конца проектов? [закрытый]

Вызов Application.launch(...) вызывает создание экземпляра вашего подкласса Application, запускаемого инструментария приложения FX, и start() для вызова в созданном экземпляре.

Этот экземпляр Application создается путем вызова конструктора без аргументов, поэтому ваш подкласс Application, Account, должен определить один:

public Account() {
    this("");
}

Ваш класс Account фактически делая две совершенно разные вещи: он действует как экземпляр Application, а также выступает в качестве модели данных для учетной записи (инкапсуляция имени и баланса). Вероятно, вы должны разделить это на два класса, каждый из которых несет свою ответственность:

import javafx.beans.property.*;

public class Account {


    private StringProperty name = new SimpleStringProperty();
    private DoubleProperty balance = new SimpleDoubleProperty();

    public Account(String name) {
        this.name.set(name);
        this.balance.set(0.0);
    }

    public void deposit(double amount) {
        setBalance(getBalance() + amount);
    }

    public void withdraw(double amount) {
        setBalance(getBalance() - amount);
    }

    public final double getBalance() {
        return balance.get();
    }

    private final void setBalance(double value) {
        this.balance.set(value);
    }

    public ReadOnlyDoubleProperty balanceProperty() {
        return balance;
    }

    public final String getName() {
        return name.get();
    }

    public final void setName(String name) {
        this.name.set(name);
    }

    public StringProperty nameProperty() {
        return name;
    }

}

, а затем

import javafx.application.*;
import javafx.fxml.*;
import javafx.stage.*;
import javafx.scene.*;


public class AccountApp extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        // TODO Auto-generated method stub
        FXMLLoader loader = new FXMLLoader(getClass().getResource("account.fxml"));
        Parent root = loader.load();
        stage.setTitle("Account");
        stage.setScene(new Scene(root));
        stage.sizeToScene();
        stage.show();
    }

}
7
задан skaffman 31 January 2012 в 14:55
поделиться

13 ответов

Не уезжайте все "скучные" биты в конец - удостоверяются, что каждый компонент работает, с регрессионными тестами и документацией, как можно раньше в проекте.

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

Вы не можете полностью избежать, чтобы изменения требований/документов на последней минуте кроме путем принятия мер к клиентам ко всем были в отпуске непосредственно перед выпуском. Или вовлеките себя в доминирующем положении как Apple и Google, так, чтобы у клиентов не было предварительных знаний выпусков.

"Необходимо" преследовать неуловимые ошибки (которым я означаю тех настолько трудно воспроизводить, что у Вас нет последовательного тестового сценария), рано, потому что Вы не можете оценить, сколько времени они возьмут для фиксации. Но на практике некоторая пропорция их станет менее неуловимой, в то время как проект продолжается, или окажитесь побочными эффектами другой известной проблемы, таким образом, Вы экономите время в среднем путем давания им ограниченного шанса сделать так. Оборотная сторона этого - то, что к концу будут некоторые оставленные. Если существуют больше, чем приблизительно два, тем не менее, Вы сделали это неправильно.

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

5
ответ дан 6 December 2019 в 14:11
поделиться

Используйте разработку через тестирование. Провальный тест всегда является сильной мотивацией.

3
ответ дан 6 December 2019 в 14:11
поделиться

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

2
ответ дан 6 December 2019 в 14:11
поделиться

Повторитесь мне: Мой код не существует, пока в нем не регистрируются.

Или если Вы не используете управление версиями, 'пока оно не публикуется' или, 'пока оно не запускается'.

Вы могли также использовать страх и сказать, что, если ВЫ не заканчиваете и запускаете его, кто-то еще будет.

1
ответ дан 6 December 2019 в 14:11
поделиться

Не делайте всех интересных частей сначала.

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

1
ответ дан 6 December 2019 в 14:11
поделиться

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

1
ответ дан 6 December 2019 в 14:11
поделиться

"если ВЫ не закончите и запустите его, то кто-то еще будет".

Сказанный меня, что один прежде. Иногда однако его польза, чтобы сделать перерыв в течение пары часов затем возвращается к нему. Затем Вы столь не истощены на нем, как Вы были.

1
ответ дан 6 December 2019 в 14:11
поделиться

Я пытаюсь продвинуть понятие дней ошибки / вечера. Поставьте цель ошибок/проблем для обращения и когда Вы поражаете то число, все добираются для выхода для (оплаченный!) пицца/пиво. Продолжает моральный дух команды и действует как фокус в в других отношениях скучный период.

Также можно добавить в это понятие prizes/cudos для лучшей части рефакторинга или повышения производительности и т.д.

1
ответ дан 6 December 2019 в 14:11
поделиться

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

0
ответ дан 6 December 2019 в 14:11
поделиться

Моя мотивация должна была только Сделать Его. Как сказанный onebyone, просто необходимо сидеть на корточках и сделать это. Это - весь вопрос приоритетов. Чем более быстры приоритеты вне пути, тем раньше можно возвратиться к интересному материалу.

0
ответ дан 6 December 2019 в 14:11
поделиться

В целом при выполнении 90% работы она почти заканчивается, просто необходимо сделать последние 90% :-)

Всегда думайте об этом, и Вы будете видеть, что это - длинный путь, пока он не работает.

0
ответ дан 6 December 2019 в 14:11
поделиться
  1. Попытайтесь видеть, можно ли сделать очень короткий перерыв в течение дня или два и возвратиться более обновленные.
  2. Не оставляйте сверла в конец
  3. Протестируйте его сами
  4. Удостоверьтесь, чтобы Ваш уровень диеты/осуществления/сна/и т.д. не становился ниже
  5. Скажите другим, что Вы чувствуете немного вниз, можете Вы области подкачки работы в течение дня?
0
ответ дан 6 December 2019 в 14:11
поделиться

Я - счастливое выполнение творческих забавных битов программирования.

Но после этого я думаю о создании счастливого пользователя.

0
ответ дан 6 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: