πολλά return σε μία μέθοδο, αλλά και ιnline evaluations - όχι δε θα πάρω.
Μπορείς να διαβάσεις και την άποψη του Bruce Eckel εδώ αλλά και άλλων σχετικά. Προσωπικά μισώ τις μεγάλες μεθόδους με exit points παντού! Μπορώ να το ανεχτώ σε μεθόδους μέχρι 10 γραμμές αλλά όταν είσαι σε μια μεγάλη ρουτίνα και βλέπεις return πάνω κάτω δεξιά και αριστερά .τα προσωπικά μου WTF μεγαλώνουν!
Η αλήθεια είναι οτι πολλοί προγραμματιστές τα γουστάρουν - άλλοι λένε και για κάποια minor performance gains. Εγώ το θεωρώ κακή προγραμματιστική λογική. Ίσως, έχω καταντήσει οld school αλλά πάντα μου άρεσει το pattern.
1Object result=null;
2return result;
Θες να σπάσεις nested if's κάνε break.Γράψε πιο δομημένα if.
Απο εμπειρία επίσης θεωρώ οτι τα πολλαπλά return statement είναι πιο δύσκολα και risky στο refactoring! Κάνε μια μαλακία σε κάποιο if (ένα bug) και έχεις προεξοφλήσει η μέθοδος σου εξαιτίας bug να επιστρέφει μια σταθερή τιμή.
Παράλληλα μισώ τα inline evaluation μέσα σε return! Ναι είναι απόλυτα σωστός κώδικας - αλλά έχω δει και κώδικα που κάνει.
1return aStr.equals(SomethingElse)
τα null pointer να πηγαίνουν σύννεφο.
Όπως λέει και ο Gordon Ramsay keep it fucking simple. Διαχώρισε την λογική και μετά σούταρε την έξω με return!
Ακούω αποψεις!