Visualizzazione dei risultati da 1 a 10 su 28

Discussione: [C++] Array Palindromo

Visualizzazione discussione

  1. #6
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    29
    Quote Originariamente inviata da M.A.W. 1968 Visualizza il messaggio
    Non so dove e come tu abbia sostenuto codesto colloquio, ma in tutta franchezza, presentandosi con una "soluzione" del genere nella multinazionale in cui lavoro o nelle altre che conosco, il risultato sarebbe solo un secco e anticipato "Si accomodi... le faremo sapere".

    Non si vede per quale arcano motivo si debba avallare, sia pure in sede di colloquio, una funzione che spreca il doppio di spazio e circa il quadruplo di tempo di esecuzione rispetto alla più ovvia soluzione in-place, che non richiede storage aggiuntivo eccetto al più un puntatore o un indice ausiliario, e richiede unicamente n/2 confronti, dove n è la lunghezza della stringa data.
    L'altra "soluzione" è semplicemente un disastro, n operazioni per copiare la stringa invertita, seguite da altri n confronti entro la strcmp() o simili, e lo storage aggiuntivo necessario per la seconda (inutile) copia della stringa... qui parliamo proprio di ABC, caratteristiche elementari del codice esplicitamente e oggettivamente misurabili in termini di complessità e metriche comuni (function points, McCabe, Halsted...), non certo di discutibili questioni stilistiche o funzioni di libreria sulle quali da anni si polemizza nella comunità dei teorici.

    Per il topic in particolare, si veda anche questo thread.
    Meno male allora che non ho applicato per la multinazionale per la quale lavori

    Se mi permette il motivo e' molto semplice, una funzione deve svolgere una sola operazione e solo quello deve essere il motivo per il quale questa deve essere modificata (Clean code, Bob C. Martin et al.)

    Questo facilita lo Unit Testing, e il riutilizzo.

    Secondo il mio punto di vista, e di gente tipo Uncle Bob o Martin Fowler, la chiarezza del codice, lo scrivere brevi e chiare funzioni e' molto piu' importante della velocita' con il quale il codice viene eseguito. Fare l'upgrade per migliorare la potenza di calcolo costa molto meno di un codice poco chiaro e difficilmente mantenibile.

    Come vede al mondo ci sono molti punti di vista, ed e' possibile crescere confrontandosi civilmente senza il tavernello sulla scrivania che genera pensieri che possono essere ritenuti offensivi.
    Ultima modifica di cisco87; 02-01-2016 a 19:03

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.