Come menzionato da FrustratedWithFormsDesigner, più probabilmente che no, la copertura dei casi limite non produce software errato o soggetto a errori. Per non parlare dei rischi per la sicurezza causati da una cattiva gestione dei casi limite (ad es. Buffer overflow, sql injection, ecc.).
L'intelligenza del software dipende dalla tua definizione, può riferirsi a software in grado di apprendere macchina, può anche riferirsi a software che gestisce gli ingressi e l'ampli; errori con grazia e fa il miglio supplementare facendo un favore all'utente finale. Ad esempio, suggerendo collegamenti relativi alla query di ricerca quando non restituisce risultati. Completamento automatico con i termini suggeriti, ecc ...
Ora, rendere la tua applicazione "più intelligente" non lo rende necessariamente gonfio o più grande. Un algoritmo efficiente e ben scritto può probabilmente far sì che il tuo codice non sia gonfiato, per non parlare del fatto che la maggior parte delle volte ci sono già librerie e framework preesistenti che ti aiutano a fare le basi senza sovraccaricare il tuo codice.
Ad esempio, quando si ha a che fare con la sanitizzazione dell'input da parte dell'utente, invece di creare un blocco di switch case o un blocco if else di grandi dimensioni, un programmatore di ruby on rails può semplicemente utilizzare convalida i metodi di supporto . Questo riduce drasticamente la quantità di codice necessaria per eseguire le convalide dei moduli, senza contare che rende più semplice il tuo lavoro.
Nella programmazione, c'è sempre più di un modo per fare le cose, quindi se pensi che quello che stai facendo è far gonfiare il tuo codebase, fai un passo indietro e riesamina il tuo codice, forse puoi codificarlo meglio per mantenere il bloat a un minimo.