Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Scrittura elegante codice

    c'è qualcosa di più elegante di questo???
    codice:
    			calendarId = request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID) == null ? "all" : request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID);

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Scrittura elegante codice

    Originariamente inviato da franksisca
    c'è qualcosa di più elegante di questo???
    codice:
    			calendarId = request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID) == null ? "all" : request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID);
    Beh, potresti salvarti il risultato di getParameter, evitando di scrivere due volte quella sbrodolata

    codice:
    String param = request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID);
    calendarId = param  == null ? "all" : param;
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Scrittura elegante codice

    Originariamente inviato da franksisca
    c'è qualcosa di più elegante di questo???
    codice:
    			calendarId = request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID) == null ? "all" : request.getParameter(SoggettiConstant.SUBJECT_CALENDAR_ID);
    Se questo è l'unico punto in cui fai una cosa del genere, non mi sembra una cosa così grave o brutta .... al massimo non farlo proprio su 1 riga unica (che è lungo) ma spezzalo, ad esempio andando a capo prima del '?'.

    Se invece una logica del genere la fai più volte, con lo stesso parametro o con diversi, allora potresti pensare ad una piccola classettina di "utilità" del tipo (abbozzo solo):

    codice:
    public class RequestUtils {
        private RequestUtils() {}
    
        public static String getParameter(ServletRequest request, String name, String defaultValue) {
            // .....
        }
    }
    Verifica però se tra i framework/librerie che eventualmente usi non ci sia già una cosa del genere .... sono necessità abbastanza frequenti (gestire un default, convertire in primitivi, ecc...).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    grazie ad entrambi.

    Allora leggendo e discutendo su altri forum sono arrivato a trovare la "soluzione", ovvero l'elvis operator, peccato che sia implementato solo da java 7.

    al momento applico già la soluzione del metodo utilità (non una classe intera ma un metodo), ma cercavo qualcosa di meno prolisso proprio a livello di codice.

    grazie comunque

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da franksisca
    sono arrivato a trovare la "soluzione", ovvero l'elvis operator, peccato che sia implementato solo da java 7.
    Se non sbaglio, l'elvis operator era stato proposto per Java 7 ma poi è stato rifiutato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Originariamente inviato da andbin
    Se non sbaglio, l'elvis operator era stato proposto per Java 7 ma poi è stato rifiutato.
    giusto!

    avevo letto a metà e mi ero fermato in quanto comunque non posso usare java7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.