В мире Сеанса HTTP Вы не можете действительно избежать броска, так как API записан, тот путь (берет и возвраты только Object
).
С определенной работой можно легко избежать броска непроверенного, 'все же. Это означает, что превратится в традиционный бросок, дающий ClassCastException
тут же в случае ошибки). Исключение непроверенное могло превратиться CCE
в любой точке позже вместо точки броска (это - причина, почему это - отдельное предупреждение).
Замена HashMap со специализированным классом:
import java.util.AbstractMap;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Attributes extends AbstractMap<String, String> {
final Map<String, String> content = new HashMap<String, String>();
@Override
public Set<Map.Entry<String, String>> entrySet() {
return content.entrySet();
}
@Override
public Set<String> keySet() {
return content.keySet();
}
@Override
public Collection<String> values() {
return content.values();
}
@Override
public String put(final String key, final String value) {
return content.put(key, value);
}
}
Затем бросок к тому классу вместо Map<String,String>
и все будет проверено в точном месте, где Вы пишете свой код. Никакое неожиданное ClassCastExceptions
позже.
Начните небольшой проект по новой технологии ( то, что вы можете использовать позже) или новый подход к чему-то, что может заменить что-то другое позже.
Рефакторинг чего-нибудь небольшого. Всегда есть фрагменты кода, которые через 5 минут после того, как я закончу, я понимаю, что мог бы выбрать немного другой подход, который был бы в чем-то «лучше».
Просмотрите свой список дел, чтобы быстро выполнить работу.
Вот несколько идей.
Просмотрите свои дневные заметки, беседы, обсуждения и идеи и посмотрите, что следует сохранить до заметок на стикерах и что выбросить. Сохраните его в задачах, календаре или файле todo.txt. Подумайте о том, что у вас получилось хорошо, и что вы могли бы сделать лучше.
Two suggestions...
Начать чат с некоторыми из ваших друзей. В конце концов, помимо работы нужно делать и другие дела.
Просмотрите свою систему GTD, отсортировав входящие сообщения и обновив корзину «когда-нибудь».
Или просто возьмите что-нибудь маленькое из своей корзины «когда-нибудь».
Напишите себе заметку о том, чего вы достигли сегодня и чего надеетесь достичь завтра.
Когда У меня слишком мало времени, чтобы делать что-то действительно сложное или интенсивное. Я постараюсь сделать одно из нескольких:
В целом я просто стараюсь делать то, что либо требует меньше вложений, либо от чего легко отказаться.
Составьте список дел на завтра.
Очистите кое-что форматирование кода.
Start on something big that you know you don't have time to finish. Leaving it incomplete (and, ideally, in a marginally 'broken' state) will give you something specific to do when you get back the next day, which makes it easier for many (most?) people to get back into the groove quickly.
Именно в это время я трачу на обновление документации (например, документации вики / базы знаний, не путать со встроенными комментариями). Я не хочу писать код, имея в запасе всего 30 минут, но я могу составить хороший раздел базы знаний или статью за это время.
Потратьте такое время на мелочи, которые помогут окупиться позже.
Project Euler . Простой способ сжечь эти 30-45 минут, не совершая чего-то большого. Кроме того, вы работаете над решением проблем, над алгоритмами, а иногда даже изучаете новые возможности своего языка, пока решаете задачи.
Внедрите небольшую функцию / улучшение, которое некоторое время было у вас в голове.