- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
-(BOOL) wasChanged
{
BOOL a,b,c,d,e,f;
if (dueDate == nil) {
a = (_task.dueDate == nil?YES:NO);
}
else
a = [dueDate isEqualToDate:_task.dueDate];
if (reminderTime == nil) {
b = (_task.reminderTime == nil?YES:NO);
}
else
b = [reminderTime isEqualToDate:_task.reminderTime];
c = (importance == _task.importance?YES:NO);
d = (reccurentType == _task.reccurentType?YES:NO);
e = [list isEqualToString:_task.parentID];
f = [body isEqualToString:_task.body];
if (a && b && c && d && e && f) {
return NO ;
}
return YES;
}
Dummy00001 16.01.2014 03:50 # 0
TarasB 16.01.2014 10:16 # +1
это бы смотрелось намного хуже
tirinox 16.01.2014 12:18 # +1
TarasB 16.01.2014 12:39 # 0
Dummy00001 16.01.2014 14:03 # 0
TarasB 16.01.2014 14:17 # +1
Dummy00001 16.01.2014 14:22 # +1
эта проблема в особенности остра с капипищеным кодом. семантику понимаю, но хотелось бы что бы компиляторы какую опцию или модификатор для методов предоставляли, типа "в этой функции можно все нахер оптимить, ее просто какой-то пидар копи-пастом писал".
roman-kashitsyn 16.01.2014 10:28 # 0
krypt 16.01.2014 11:32 # 0
1024-- 16.01.2014 12:22 # +1
Dummy00001 16.01.2014 14:00 # 0
roman-kashitsyn 16.01.2014 14:08 # +1
Dummy00001 16.01.2014 14:16 # 0
не. получится говно. сейчас это короткая функция, и отсутствие нормальных имен как раз подчеркивает субстанцию. если в данном конкретном случае перевести на нормальные имена, то функция будет больше и её на самом деле уже надо будет читать что бы понять что она делает.
ЗЫ "Совершенство достигнуто не тогда когде больше нечего добавить, а тогда когде больше нечего отнять." (с)
roman-kashitsyn 16.01.2014 14:23 # +1
Заставил таки себя дочитать код... подобный механизм проверки модификаций крайне неудобен и чреват проблемами. В зависимости от желаемых целей можно использовать контрольную сумму полей объекта или changeListener + dirty-флажок, выставляемый при обновлении полей субъектом.
bormand 16.01.2014 06:10 # 0
krypt 16.01.2014 11:33 # 0
Просто у местного boolean так значения называются.
roman-kashitsyn 16.01.2014 11:39 # +2
TarasB 16.01.2014 10:14 # +1
roman-kashitsyn 16.01.2014 14:29 # +1
TarasB 16.01.2014 14:45 # +1
заменяем на
И НИ ОДНОГО логического оператора.
roman-kashitsyn 16.01.2014 15:00 # +3
TarasB 16.01.2014 20:48 # 0
tirinox 16.01.2014 22:45 # +3
wvxvw 17.01.2014 00:31 # +1
Настоящий ООП-стиль.
anonimb84a2f6fd141 18.01.2014 12:05 # 0