+70
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
for (AllResponseCache actionResponse : allResponses) {
if (null != actionResponse.getResponseStatus() && actionResponse.getResponseStatus().length() > 0) {
for (ResponseSubjectCache subj : actionResponse.getSubjects()) {
// find needed element
if (subj.getClaims() != null) {
for (ClaimCache claimCache : subj.getClaims()) {
Seller seller = getSellerByPersonMatched(pool, claimCache);
if (seller != null) {
if (mapToSyncronize.get(seller) == null) {
mapToSyncronize.put((SellerrEntity) seller, new LinkedList<ReportResponseCache>());
}
mapToSyncronize.get(seller).add(actionResponse);
}
}
}
}
}
}
Индусы и "for-if"-ы.
Я уж думал будет хронология как в России с "президентами" - "лысый, волосатый, лысый, волосатый" и так далее.
А тут "for, if, for, if" но в конце всё-таки 2 иф-а!
Запостил: Dimedrol,
25 Октября 2011
gegMOPO4 25.10.2011 16:32 # 0
roman-kashitsyn 25.10.2011 16:54 # +2
разве что в функциональном языке это, вероятно, делается в две-три строчки
Lure Of Chaos 25.10.2011 17:20 # +2
только я не вьеду до конца, что оно тут делает.
roman-kashitsyn 25.10.2011 17:25 # 0
Lure Of Chaos 25.10.2011 17:30 # 0
3.14159265 03.11.2011 21:44 # 0
static List<T> noNull(List<T> l){
return (l==null ? Collections.emptyList() : l);
}
static List<T> noNull(Map<T> m){
return (l==null ? Collections.emptyMap() : m);
}
итд...
3.14159265 03.11.2011 21:50 # −1
Ибо без сомнений такое и в других местах по проекту встречается.
В идеале такой вот код
Выглядел бы так
gegMOPO4 25.02.2012 17:55 # 0
Использование:
Используемая здесь идиома так распространена, что в Питоне для этого есть специальный тип — defaultdict.
if (seller != null) здесь вообще не при делах, это особенность конкретного кода.
roman-kashitsyn 26.02.2012 14:46 # 0
bugmenot 26.02.2012 21:20 # 0
absolut 25.10.2011 17:01 # +1
guest 25.10.2011 17:08 # +2
1. Это невозможно читать (человеку).
2. Это невозможно тестировать.
odmin 25.10.2011 17:55 # 0
Irdis 25.10.2011 20:02 # 0
guest 25.10.2011 19:29 # 0
Должно лучше читаться
tir 26.10.2011 09:42 # 0
Лучше не будет, будет меньше отступов.
guestGovno 26.10.2011 13:34 # −1
AnimeGovno-_- 26.10.2011 17:06 # −8
Dimedrol 25.10.2011 22:34 # 0
Я хотел сказать именно то, что высказал "Irdis".
Эту кашу нужно отрефачить на несколько методов у которых не будет вложенных циклов и кучи if-ов.
Почему никто их комментаторов не говорит о тестировании?!
Вы попробуйте unit test к этому уЖОсу написать!
Если человек знает что такое unit-тестирование и сам пишет тесты на свой код, - он не может написать вышепоказанный код по определению!
roman-kashitsyn 25.10.2011 23:14 # 0
tir 26.10.2011 10:46 # +3
roman-kashitsyn 26.10.2011 11:00 # −1
Черный Властелин 03.11.2011 22:26 # 0
Lure Of Chaos 26.10.2011 11:31 # +1
берешь юнит Тестировщик, даешь ему задание "оттестировать", посылаешь в тыл багам...