Panowie, kodze sobie ostatnio po godzinach w Javie, pewien projekt i w jednej z metod urodzil mi sie zapierajacy dech w piersiacrh koszmarek. W php biorac pod uwage mozliwosc dynamicznego deklarowania zmiennych, zrobienie w kodzie ponizej nie stanowiloby problemu, no ale to Java.
Jakies sugestie jak mozna by to "spakowac" tak zeby az tak nie "walilo po oczach"?
public void run()
{
this.settingsDataStorage.setSprocess("train");
initStaticLoopers();
List<List<Integer>> alIterations = settingsDataStorage.getAlOptimizationIterations();
this.networkResultsCollector.init();
int s00number = alIterations.get(0).size();
for (int s00 = 0; s00 < s00number; s00++) {
int i00 = 0; int i00number = alIterations.get(0).get(s00);
while(alLoopers.get(0).setSettings(0, s00, i00, i00number) < i00number){
i00++;
initDynamicLoopers();
alIterations = settingsDataStorage.getAlOptimizationIterations();
int s01number = alIterations.get(1).size();
for (int s01 = 0; s01 < s01number; s01++) {
int i01 = 0; int i01number = alIterations.get(1).get(s01);
while(alLoopers.get(1).setSettings(1, s01, i01, i01number) < i01number){
i01++;
int s02number = alIterations.get(2).size();
for (int s02 = 0; s02 < s02number; s02++) {
int i02 = 0; int i02number = alIterations.get(2).get(s02);
while(alLoopers.get(2).setSettings(2, s02, i02, i02number) < i02number){
i02++;
int s03number = alIterations.get(3).size();
for (int s03 = 0; s03 < s03number; s03++) {
int i03 = 0; int i03number = alIterations.get(3).get(s03);
while(alLoopers.get(3).setSettings(3, s03, i03, i03number) < i03number){
i03++;
this.networkDataStorage.initResultsCollections();
int s04number = alIterations.get(4).size();
for (int s04 = 0; s04 < s04number; s04++) {
int i04 = 0; int i04number = alIterations.get(4).get(s04);
while(alLoopers.get(4).setSettings(4, s04, i04, i04number) < i04number){
i04++;
int s05number = alIterations.get(5).size();
for (int s05 = 0; s05 < s05number; s05++) {
int i05 = 0; int i05number = alIterations.get(5).get(s05);
while(alLoopers.get(5).setSettings(5, s05, i05, i05number) < i05number){
i05++;
int s06number = alIterations.get(6).size();
for (int s06 = 0; s06 < s06number; s06++) {
int i06 = 0; int i06number = alIterations.get(6).get(s06);
while(alLoopers.get(6).setSettings(6, s06, i06, i06number) < i06number){
i06++;
int s07number = alIterations.get(7).size();
for (int s07 = 0; s07 < s07number; s07++) {
int i07 = 0; int i07number = alIterations.get(7).get(s07);
while(alLoopers.get(7).setSettings(7, s07, i07, i07number) < i07number){
i07++;
int s08number = alIterations.get(8).size();
for (int s08 = 0; s08 < s08number; s08++) {
int i08 = 0; int i08number = alIterations.get(8).get(s08);
while(alLoopers.get(8).setSettings(8, s08, i08, i08number) < i08number){
i08++;
int s09number = alIterations.get(9).size();
for (int s09 = 0; s09 < s09number; s09++) {
int i09 = 0; int i09number = alIterations.get(9).get(s09);
while(alLoopers.get(9).setSettings(9, s09, i09, i09number) < i09number){
i09++;
int s10number = alIterations.get(10).size();
for (int s10 = 0; s10 < s10number; s10++) {
int i10 = 0; int i10number = alIterations.get(10).get(s10);
while(alLoopers.get(10).setSettings(10, s10, i10, i10number) < i10number){
i10++;
int s11number = alIterations.get(11).size();
for (int s11 = 0; s11 < s11number; s11++) {
int i11 = 0; int i11number = alIterations.get(11).get(s11);
while(alLoopers.get(11).setSettings(11, s11, i11, i11number) < i11number){
i11++;
int s12number = alIterations.get(12).size();
for (int s12 = 0; s12 < s12number; s12++) {
int i12 = 0; int i12number = alIterations.get(12).get(s12);
while(alLoopers.get(12).setSettings(12, s12, i12, i12number) < i12number){
i12++;
trainNetwork(i12);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
networkResultsCollector.writeResultsToFile();
}
}
}
}
}
}
}
}
networkResultsCollector.writeResultsCompactedToFile();
}
LongInteger