Da Matlab interpretiert wird, verbringen Sie normalerweise zu Beginn der Funktion, die die Funktionssignatur erzwingt, viel Zeit. Zum BeispielWann sollte assert() in Matlab verwendet werden?
if nargin ~= 2; error('must provide two input args a and b'); end
if a < 0||a ~=floor(a); error('input arg1 must be positive non-zero integer'); end
if ~isa(b,'cell') ...
Ist es besser zu bedienen ist Matlab assert() für diese Stelle? Wenn nicht, wann ist der geeignete Zeitpunkt, um in Matlab assert() zu verwenden?
Es gibt eine große Diskussion über die Verwendung von Assert in Produktionscode here, aber ich bin mir nicht sicher, dass dies für interpretierten Code gilt. Ebenso, eine andere gute Diskussion here und ich stimme @Dan Dyer in Bezug auf behaupten, um den Glauben an den aktuellen Zustand auszudrücken. Allerdings, wenn man eine ähnliche Diskussion für Python here Leute sagen, verwenden Sie nur für Situationen, die nie passieren sollte (wie Ausnahmen für Ausnahmefälle) behaupten, die ein wenig widersprüchlich ist w.r.t. die vorherigen Referenzen.
Vielleicht ist dies eher eine Frage über die Rolle, die Assert in interpretierten Sprachen spielt, und weniger über Matlab.
Ich schreibe Matlab-Code, um viel Prototyping zu tun. Ich bin nicht sicher, was der "richtige" Anwendungsfall ist, aber ich gehe im Wesentlichen mit der Interpretation des Glaubensglaubens und verwende sie oft. Ich habe keine Leistungsprobleme bei der Profilerstellung in einer einigermaßen neuen Version von Matlab bemerkt. Ich mag, wie sauber sie im Code sind, um Verhalten häufig zu überprüfen. Allerdings mache ich selten Produktionscode in Matlab :) – adalca