- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
Double extractShare(Product product, ShareExtractor extractor) {
if (product != null) {
Equity equity = product.getEquity();
if (equity != null) {
Double shareMetric = extractor.extract(equity);
if (shareMetric != null) {
return shareMetric;
}
}
}
return 0.0;
}
private interface ShareExtractor {
ShareMetricExtractor PUBLIC_SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
@Override
public Double extract(Equity equity) {
return equity.getPublicShareOutst();
}
};
ShareMetricExtractor SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
@Override
public Double extract(Equity equity) {
return equity.getShareOutst();
}
};
Double extract(Equity equity);
Архитектор головного мозга - это диагноз. Фанатзия нашего системного архитектора толи зашкалила, то ли дала сбой. Сей фердопердозный код был заменен следующим же коммитом, но свн помнит все! )
tir 22.04.2013 15:17 # 0
roman-kashitsyn 22.04.2013 15:55 # 0
Конечно, мне часто не хватает автоматического преобразования методов вида Thing MyClass.getThing() в Function<MyClass, Thing>, но лишь для преобразований последовательностей, а уж точно не в таком контексте, в котором оно здесь применено.
jericho 22.04.2013 15:55 # 0
Double[] extractShare(Product product){
....
return {equity.getPublicShareOutst(), equity.getShareOutst()};
}
tir 22.04.2013 16:17 # 0
roman-kashitsyn 22.04.2013 16:34 # 0
guest 30.04.2013 14:46 # 0
tir 22.04.2013 16:16 # +1
ненавижу такое именование.
ShareExtractor.SHARE_OUTST_EXTRACTOR - выгядит как масло масляное. ну на кой хер два раза писать extractor и share??? это как PhoneType.MOBILE_PHONE или PhoneType.MOBILE_TYPE.
wvxvw 22.04.2013 21:48 # 0
bormand 23.04.2013 05:23 # +1
scriptin 22.04.2013 23:01 # +2