Ingegneria software

Domande e risposte per professionisti, accademici e studenti che lavorano nel ciclo di vita dello sviluppo di sistemi


2
Devo essere permissivo di parametri sconosciuti?
Sto progettando un'API RESTful e sto affrontando il problema del titolo, ribadito per chiarezza: Devo fallire velocemente se un client invia un parametro non riconosciuto? Per esempio, http://example.com/api/foo?bar=true&paula=bean In quanto sopra, barè un parametro valido ma paulanon è specificato dall'API. Dovrei Avvertire il client dell'errore Fallire velocemente Ignoralo Se avverto …
12 rest  api-design 


3
È meglio proteggere la chiamata del metodo o il metodo stesso?
Sto scrivendo una domanda e sono arrivato a questo punto: private void SomeMethod() { if (Settings.GiveApples) { GiveApples(); } if (Settings.GiveBananas) { GiveBananas(); } } private void GiveApples() { ... } private void GiveBananas() { ... } Sembra piuttosto semplice. Vi sono alcune condizioni e, se sono vere, vengono chiamati …

1
Molte chiamate asincrone vs singola chiamata all'API
Stiamo sviluppando un'API REST che tra l'altro verrà consumata da un frontend HTML5 tramite javascript. L'applicazione è destinata all'uso all'interno dell'organizzazione e di solito ha circa 300 utenti, ma vogliamo ridimensionare fino a circa 1000 utenti. Normalmente le connessioni all'API verranno effettuate all'interno della LAN, quindi la qualità e la …
12 rest  api  ajax 


2
Perché il sottotipo comportamentale è indecidibile?
Il lavoro di Liskov in quest'area si è concentrato sul sottotipo comportamentale, che oltre alla sicurezza dei sistemi di tipo discussa in questo articolo richiede anche che i sottotipi preservino tutti gli invarianti garantiti dai supertipi in alcuni contratti. [3] Questa definizione di sottotipo è generalmente indecidibile, quindi non può …

1
Mantenere l'API rispetto all'uso dei modi di dire in una porta
Sto lavorando su una porta da Python a Rust e mi sono imbattuto in un codice che non può essere espresso naturalmente in Rust come in Python. Un caso è l'utilizzo dei parametri predefiniti: class Foo: def __init__(self, a="Hello"): self._a = a In Rust, è possibile implementarlo utilizzando un builder: …

2
Implementazione continua con gitignore
Quando si esegue una distribuzione continua con Git, come si gestiscono i file ignorati in gitignore? Quei file vengono ignorati per motivi di privacy (cioè non li vogliono essere inviati ad altri repository remoti, come GitHub), ma con quei file ignorati che non vengono inviati al repository di distribuzione continua, …


5
Qual'è la differenza concettuale tra finally e un destructor?
Innanzitutto, sono consapevole del perché non esiste un costrutto "finalmente" in C ++? ma una lunga discussione di commenti su un'altra domanda sembra giustificare una domanda separata. A parte il problema che finallyin C # e Java possono praticamente esistere solo una volta (== 1) per ambito e un singolo …





Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.