Angst vor Real-World Code.
-
ja schrieb:
nuff schrieb:
Arbeitet eigentlich jemand wo er msvs08 + vax + boost und andere diverse libs benutzen darf?
ja
+1
Ich darf eigentlich programmieren, wie ich will. Unser Chef ist z.B. bekennender STL-Hasser. Wenn ich aber der Meinung bin, dass ich an einer bestimmten Stelle std::deque verwenden will, weil es einfach praktisch und komfortabel ist, dann ist das kein Thema.
Die Notwendigkeit, andere Bibliotheken zu nuten, hatte ich ehrlich gesagt noch nicht. Da haben wir eine gewisse Basis (OpenCV, IPP, CGAl usw.), die für unsere Software gut passt und eigentlich keine Wünsche offen lässt. Aber ich bin sicher, dass ich bei echtem Bedarf auch mal was anderes (zusätzlich) einführen könnte, wenn ich das rechtfertigen kann.
Es gibt halt ein paar Regeln zur Notation und so, und eine gewisse Struktur, die sich aus der bisherigen Software ergibt. Wenn man sich daran hält, hat man ansonsten alle Freiheiten.
-
_matze schrieb:
ja schrieb:
nuff schrieb:
Arbeitet eigentlich jemand wo er msvs08 + vax + boost und andere diverse libs benutzen darf?
ja
+1
+ noch ein, was das dürfen angeht.
_matze schrieb:
Unser Chef ist z.B. bekennender STL-Hasser.
der wäre mir bestimmt auf anhieb sympathisch.
-
;fricky schrieb:
_matze schrieb:
Unser Chef ist z.B. bekennender STL-Hasser.
der wäre mir bestimmt auf anhieb sympathisch.
Mit Sicherheit! Im Großen und Ganzen stimme ich ja auch mit ihm überein. Ich mag normalerweise auch eher den C-Weg und nutze relativ selten STL-Container (nur wenn ich mir davon wirklich eine Arbeitsersparnis verspreche). Aber es gibt auch Situationen, wo die STL einfach praktisch ist. Ich habe letztens einen Dialog gebastelt, wo ich Daten für einen Graphen (mit einer maximalen Anzahl an Messwerten, so dass er 'weiterläuft') bereitstellen musste. Da musste ich halt am Anfang der Liste löschen, und da ist std::deque viel praktischer, schneller programmiert und einfacher, als sich das Konzept selbst mit memmove usw. nachzubilden. Und dass bei manchen Geschichten assoziative Container sinnvoll sind und einem Arbeit abnehmen, brauche ich wohl nicht noch extra zu erläutern. Man muss halt nur alles richtig machen, damit man nicht von den berüchtigten 10-Seiten-Template-Fehlermeldungslisten erschlagen wird. Denn in der Zeit, die man dann zu Lesen braucht, kann man doch wieder alles mit herkömmlichen Arrays schreiben.
-
nuff schrieb:
Aber ehrlich gesagt, hab ich angst vor "Real-World" Code wie der Titel andeutet. Wenn ich sachen wie http://thedailywtf.com/Articles/CodeThatDocumentsItselfSoWellItDoesNotNeedComments.aspx sehe, oder http://thedailywtf.com/Articles/Loopy-Validation.aspx .. vergeht mir die lust am Programmieren.
Ja, total Realworld. Auf der Seite ist doch eh die Hälfte aller Postings gefaked. Im Allgemeinen kannst du davon ausgehen, dass deine Mitarbeiter auch nicht blöder sind als du - es werden Fehler gemacht, natürlich. Aber 1. sind die meistens nicht so schlimm wie deine Beispiele und 2. kann man über sowas sprechen. Statt den Kollegen dann öffentlich bei Thedailywtf anzuprangern, kann man sich auch gegenseitig helfen und Ratschläge erteilen. So lernst du dazu, und der Kollege auch.
nuff schrieb:
Ich habe auch schon öfters gehört, dass man nicht "hausgemachte" libs nicht benutzen darf? Arbeitet eigentlich jemand wo er msvs08 + vax + boost und andere diverse libs benutzen darf?
Schwachsinn. Überleg' mal, ob es wirtschaftlich sein kann, den Standardkram immer wieder neuzuschreiben, obwohl es etablierte, solide Lösungen gibt und warum eine neuimplementierte Lösung besser sein soll, als eine, die sich schon in tausenden von Programmen bewährt hat. Ich kenne auch Firmen, die Boost und andere populäre Libs einsetzen.
Im Gegenzug kenne ich keine, die alles selber macht.Lange Rede kurzer Sinn: Programmier' erstmal bei einer Firma, dann kannst du dir immernoch in die Hose machen und sagen, du willst das nicht.
-
nuff, du solltest eher Angst vor schlechter Dokumentation als vor schlechtem Code haben.
-
Realer Code ist nahezu immer scheiße (viele Köche verderben den Brei, Termindruck etc.) Naja, so ist das nun mal. Finde dich einfach damit ab, dann lebt es sich leichter. Perfektionismus is der sichere Weg ins Unglück;)
-
Naja, ich habe bei meinem momentanen "Real World"-Projekt vorallem das Problem, dass die Anforderungen scheisse sind. Ich selbst - und wahrscheinlich jeder andere vernunftbegabte Informatiker - hätte das Problem anders, einfacher und in einem Bruchteil der Zeit gelöst. Aber die Herren Ingenieure kommen mit etlichen Forderungen die zwar imho wenig Sinn machen, aber die Komplexität des Problems mal eben exponentieren...
-
Huhu
würde gerne wissen, was unter Real-World Code gemeint ist?
Google ergab leider keine Definitionen ):Danke im voraus!
-
nuff schrieb:
Arbeitet eigentlich jemand wo er msvs08 + vax + boost und andere diverse libs benutzen darf?
Zwar nicht msvc (wir verwenden die Codegear-Produkte) und damit leider auch kein vax, aber boost & Co sind - sofern man es begründen kann - erlaubt, sofern es die Lizenzen zulassen. Bisher konnte ich alles an Bibliotheken recht schnell durchsetzen.
Wobei ich weiß das dies in Firmen unterschiedlich gehandhabt wird. Meine jetzige ist da recht offen, in meiner vorherigen war jede Änderung ein langwieriger Prozess.
@NoChecker§!: Code aus dem "wahren" Leben (In der Regel Code aus größeren Projekten mit mehreren Beteiligten; üblicherweise auf kommerzielle Projekte bezogen)
-
Danke
-
Die ganze vom Menschen gemachte moderne Real World ist zumeist unter Zeitdruck entstandener Kram. Bewundere dagegen die Perfektion der Natur.
-
Na, es gibt auch Firmen die sogar boost voraussetzen:
Der Umgang mit Boost, Smart Pointer, Templates und großen C++ Projekten stellt für Sie kein Problem dar
Also, sooo schlimm kann die Welt da draußen nicht sein.
-
Artchi schrieb:
Na, es gibt auch Firmen die sogar boost voraussetzen:
Der Umgang mit Boost, Smart Pointer, Templates und großen C++ Projekten stellt für Sie kein Problem dar
Sie verfügen über Engagement, Teamgeist, Humor, Arbeitseifer, Leidenschaft, Originalität und Neugierde?
vielleicht steht das irgendwie in zusammenghang? *fg*
-
mal als leichtes OT::Gebrabbel
ich stell bei dem projekt in welches ich involviert bin gerad relativ viel von MFC auf STL um, um
a) nichtmehr von einer teils veralteten bibliothek abhängig zu sein (wir nehmen vc++6.0a und bekommen wohl in den nächsten jahren auch nix anderes)
b) dann mein nettes Projektchen (welches ich quasi geerbt habe) dann mal fix in C++/CLI neuzucoden
c) die MFC-Klassen teilweise viel Wust mitbingen den man nicht benötigt, aber alle das Zeugs benutzen, denn: "Es is da, also nehmen wir es auch..."
d) langsam aber sicher auch die Treiber für Linux rauskommen, so dass unsere Maschinen irgendwann mal keine Win-Lizenz mehr brauchen... Davon träume ich ein bisserl^^
e) es unwahrscheinlich ist, dass unsere win-software noch ewig unter den neuen win-versionen kaufen wird... ergo erleichtert dass dann später auch den umstiegwir haben hier auch noch libs die irgendwann mal gekauft wurden die ich jetzt teilweise neu geschrieben habe... das sind dinger die zwar extrem viele sachen machen können, aber dabei total undurchsichtig mit den daten umgehen... schlecht dokumentiert etc...
aber boost muss ich mir trotzdem mal ansehen. hab ich bisher viel gehört aber noch nie was gesehen