Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    251
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    5

Whiz-zarD hat zuletzt am 15. Januar gewonnen

Whiz-zarD hat die beliebtesten Inhalte erstellt!

1 Benutzer folgt diesem Benutzer

Über Whiz-zarD

  • Rang
    Reg.-Benutzer
  • Geburtstag

Letzte Besucher des Profils

1.024 Profilaufrufe
  1. Eine Datenstruktur ist ein Objekt zur Speicherung und Organisation von Daten. Dabei sollten solche Objekte so "dumm" wie möglich gehalten werden. Im Jahr 2000 brachte Martin Fowler den Begriff "POJO" in den Raum. Das steht für "Plain old Java Object". Abgelitten für die .Net-Welt gibt es den Begriff POCO, was für "Plain Old CLR Object" steht. Solche Objekte besitzen halt nur die Daten. Beispiel: Du willst Daten zu einer Person speichern: public class Person { public string Vorname { get; set; } public string Nachname { get; set; } public DateTime Geburtstag { get; set; } } Das ist jetzt die Datenstruktur für eine Person. Wenn du nun eine Menge an Personen hast, kannst du jetzt z.B. ein Array oder eine Liste mit Personen definieren. Beispiel: Person[] personen = new Person[10]; IList<Person> personen2 = new List<Person>(); So transporierst du lediglich nur die Daten der Person durch die Gegend. Der Vorteil von solchen Klassen ist, dass sie komplett keine Abhängigkeiten besitzen und können wiederverwendet werden. Angenommen du würdest in der Klasse Methoden hinzufügen, die die Daten aus einer Datenbank liest. Dann wäre die Klasse von der Datenbank abhängig. Analog kann man es ja mit deiner Settings-Klasse sehen. Du hast dort Methoden, die die Setttigs aus einer Ini-Datei ausliest. Unter Logik versteht man das, was du letzendlich machen möchtest. z.B. die Settings aus einer Ini-Datei oder Datenbank lesen.
  2. Du erstellt mit HTML ein Tabelle und mit CSS passt du die mit deinem Designstil an. CSS ist eine Stylesheet-Sprache, mit der man das Erscheinungsbild von Elementen anpasst. Mehr ist CSS nicht. Kannst ja z.B. hier mal reinschauen, wie sie die Tabellen gestaltet haben
  3. Mit CSS erstellst du keine Tabellen. Was genau hast du denn vor?
  4. Dein Problem mit dem '\r' ist folgendes: Du hast ein String, der aus mehreren Zeilen besteht. Das Zeilenende unter Windows wird standardgemäß mit "\r\n" dargestellt. Das sind nicht-druckbare Steuerzeichen. Das \r steht für "cariage return" und das \n für "new line". Reguläre Ausdrücke werden aber standardgemäß pro Zeile ausgewertet und das eine Zeile wirklich beendet ist, leitet nur das \n ein. Somit bleibt \r stehen. Wenn du es unbedingt mit einen regulären Ausdruck ermitteln möchtest, dann musst du es so schreiben: Regex rsource = new Regex("(?<=Source\\=)[^\r]+"); Aber reguläre Ausdrücke würde ich persönlich vermeiden. Die versteht doch kein Schwein. Ich würde durch jede Zeile der Ini-Datei iterieren und jede Zeile per Split() mit dem '='-Zeichen teilen. So habe ich den Schlüssel und den Wert getrennt und kann damit arbeiten. Versuche aber mal die Settings und das Laden der Settings zu trennen. Also dass du eine Klasse Settings hast: public class Settings { public string source { get; set; } public string Destination { get; set; } } Und eine Klasse z.B. mit dem Namen SettingsLoader, die eine Methode bereitstellt, die die Settings aus der Ini-Datei lädt und dir eine Instanz vom Typ Settings zurückliefert. Also z.B: public class SettingsLoader { public Settings Load(string fileName) { ... } } So trennst du die Datenstruktur von der Logik. Angenommen, du hast neben der Ini-Datei als Quelle für die Einstellungen jetzt noch eine Datenbank. Dann müsstest du ja die Settings-Klasse um weitere Methoden aufblähen, die die Daten aus der Datenbank lesen und dann kommt vielleicht die dritte (z.B. aus Textboxen einer WinForms-Anwendung), vierte und fünfte Quelle. Dann wird die Klasse sehr riesig und unübersichtlich. Das möchte man aber nicht. Man sollte das Ziel verfolgen, eine Klasse so klein wie möglich zu halten. Einige sagen, eine Klasse darf nicht mehr als 200 Zeilen besitzen aber ich finde so dogmatisch sollte man es nicht halten, aber man sollte sich daran orientieren. Um also mehrere Quellen abzugrasen sollte man pro Quelle eine Klasse schreiben, die die Einstellungen einliest und zurückgibt.
  5. Schiffbruch ist für mich noch was anderes. Schiffbruch ist, wenn das Produkt schon beim Kunden ist und es beim Kunden nicht erwartungsgemäß läuft. Vielleicht verstehe ich den TE auch nur falsch. Ich habe es so verstanden, dass der TE nicht mehr weiß, wo vorne und hinten ist. Also mit so vielen Spitzfindigkeiten beschäftigt ist, sodass kein stabiler Zustand erreicht werden kann. Jede Änderung provoziert dann den nächsten Fehler.
  6. Ich sehe eigentlich keinen Grund, ein Fehlerfall nicht zu überprüfen. Wenn ein Fehler auftreten kann, so selten wie er auch sein mag, sollte man ihn auch abfangen. Man verrennt sich eigentlich nicht aufgrund der Menge der Fehler, die auftreten können, sondern aufgrund der Komplexität des Codes und die Komplexität erhöht sich wegen ganz anderen Dingen.
  7. Wie wahrscheinlich ein Fehler auftritt, kann man häufig auch gar nicht beurteilen. Ich habs auch schon erlebt, dass ein gesamtes Entwicklerteam der Meinung ist, dass bestimmte Konstellationen selten bis gar nicht auftreten und schwupps hatte schon die ersten Kunden diese Konstellation. Viele Fehler lassen sich schon damit abfangen, wenn man Programmierregeln aufstellt.z.B. dass Listen niemals Null sein dürfen oder dass Null kein gültiger Rückgabewert ist. Auch hilft Praktiken, wie TDD schon sehr gut, sich kurz zu halten. Fehler, die auftreten könnten, können auch somit leichter getestet werden. Wer kleine Schritt macht, der kann dann auch zwischenzeitlich sein Code refaktorisieren und kann dabei alle Testfälle immer wieder laufen lassen.
  8. Wenn man zu sehr in den Details feststeckt, dann sollte man sich überlegen, ob die Lösung überhaupt die richtige ist? Zu viele Details bedeutet oftmals auch zu viel Code, der auch instabil ist. Man will wohl zu viel auf einmal erledigen. Daher wäre es wohl ratsam, hier ein Schlussstrich runterzusetzen und noch mal die Aufgabe überdenken. Evtl. müssen die Teilschritte noch mal unterteilt werden. Ratsam wäre auch mit einem Kollegen über die Aufgabe zu sprechen. Oftmals kommen da Ideen, an die man nicht gedacht hat. Pair-Programming kann in solchen Situationen auch hilfreich sein.
  9. Und was soll daran schlecht sein? Behaupten kann man vieles aber gibt es dafür auch konkrete Gründe? Für die praktische Erfahrung muss man eh noch Praktika absolvieren. Ja, einige meiner damaligen Kommilitonen, die die Schule nach dem zweiten Semester abgebrochen haben, fanden die Schule auch schlecht. Das lag aber auch nur daran, weil sie nicht mitkamen und nicht gleich angefangen wird, Klicki-Bunti-Anwendungen zu schreiben.
  10. Wenn die Schule gut ist, ist dies gar nicht so unseriös. Zugegeben, der Kurvenverlauf ist wohl ein wenig zu steil aber das ist dennoch realistisch und würde sich auch mit meinen Erfahrungen decken. Vielfach habe ich das Gefühl, dass in Berufsschulen versucht wird, den letzten Deppen mitzunehmen, sodass man im Stoff gar nicht vorankommt, während in schulischen Ausbildungen der Unterricht straff getacktet ist und man weniger Rücksicht auf Schwächere nimmt. So kommt man im Stoff viel schneller voran und kann auch mehr Stoff einbringen. Meine Ausbildung dauerte 2 1/2 Jahre (5 Semester), wobei ich noch ein Semester rangehängt habe, um für die Abschlussprüfung genug Zeit zu haben. Ich habe im sechsten Semester also nichts anderes gemacht, außer Praktika und die Abschlussprüfung. In den 2 1/2 Jahren habe ich weitaus mehr gelernt, als viele FIAEler in den 3 Jahren. Das Entscheidene ist der Überblick, den man bekommt. Ein Azubi lernt in der Firma nur das, was die Firma auch einsetzt. Also ist die Qualität von der Firma abhängig und das schwankt sehr stark. Wenn eine Firma aber nur z.B. PHP und MySQL einsetzt, dann lernt der Azubi auch nur PHP und SQL. In meiner Assistenten-Ausbildung habe ich aber mehrere Sprachen gelernt: Pascal, Delphi, C, Java, PHP und SQL. Dann noch HTML, CSS und JavaScript nur rudimentär mit jQuery. Wir haben z.B. als Übung ein 2D Pacman und ein 3D Sokoban in C und OpenGL entwickelt. Mit PHP haben wir als Übung einen kleinen Bücher-Shop gebastelt. Als Seminar-Aufgabe musste ich in C ein Tool schreiben, was Bilder manipuliert (spiegeln, drehen, Graustufen bzw. Schwarz-weiß und skalieren). Die Algorithmen sollten wir selber dazu schreiben. Als weitere Aufgabe sollte ich das Spiel Carcasonne, mit grafischer Oberfläche (mit Delphi) programmieren. Darüber hinaus hat man uns noch Bildbearbeitung und Videoschnitt beigebracht (Die Adobe Produktpalette). Dazu zählte auch die Theorie, wie Bilder und Videos komprimiert werden. Es war ein großer Rundumschlag zum Thema "Medieninformatik" und vielen anderen Themen (z.B. Rechnernetze, Datenschutz, Marketing und Medienrecht) und das bietet keine betriebliche Ausbildung. Sehe ich genauso.
  11. Leider gibt es nicht viele Informationen auf der Webseite aber sie klingt erst mal nicht schlecht und ich denke, nach der Schule ist eine zusätzliche Ausbildung nicht notwendig und ich halte das dann auch für schwendete Zeit. Wenn, dann würde ich eher nach einem Studium ausschau halten, wenn du meinst, dass es nicht reicht.
  12. Erst mal habe ich zuvor eine betriebliche Ausbildung als Mechatroniker hinter mir. Ich kenne also das Leben als Azubi. Zweitens hatte ich im Laufe der Zeit schon einige Gesprächen mit so manchen FIAE-Azubis gehalten und irgendwie berichtet jeder von den selben Problemen. Drittens hatte ich mich mal in diesem Forum angemeldet, weil ich Informationen über die Ausbildung sammeln wollte, da ich vor habe, die Ausbildereignungsprüfung abzulegen aber in diesem Forum werden immer wieder die Dinge bestätigt, die auch zuvor die Azubis berichtet haben, mit denen ich gesprochen habe und das erschüttert mich doch sehr. Das mag vielleicht sein. Das kann ich so nicht beurteilen. Ich selber war auf einer Schule in Schleswig-Holstein und diese Schule genießt in Norddeutschland einen sehr guten Ruf und die Leute, die auf dieser Schule einen Abschluss gemacht haben, werden eher genommen, als jemand mit einer betrieblichen Ausbildung.
  13. Du frage ist, wie die tatsächliche Bezeichnung heißt? Es gibt die "staatlich geprüften Assistenten für Wirtschaftsinformatik" und umgangssprachlich werden sie auch Wirtschaftsinformatiker bezeichnet. So eine Ausbildung ist auch mit einer Fachinformatiker-Ausbildung gleichrangig. Je nach Schule im Lehrstoff sogar höherwertiger. Ich bin staatlich geprüfter Assistent für Medieninformatik und habe diese Entscheidung nie bereut. Im Gegenteil. Ich bin sogar eher froh darüber, diesen Weg gewählt zu haben, anstatt eine betriebliche Ausbildung.
  14. Wozu dann noch eine FIAE Ausbildung, wenn du später Wirtschaftsinformatiker bist? Das halte ich für Verschwendung. Darf ich fragen, welche schule du in Auge gefasst hast? Ich habe auch eine schulische Ausbildung abgeschlossen und würde diese Ausbildung einer betrieblichen Ausbildung immer wieder bevorzugen.
  15. Es wäre besser, wenn du immer den kompletten Code hier reinschreiben würdest. Mit Schnipseln, die sogar noch unvollständig sind, kann keiner was anfangen. Auch solltest du auf die Formatierung achten. Der Code kann noch so gut sein aber wenn dieser schlecht formatiert ist, ist er quasi unlesbar. Was mir aber ins Auge sticht, ist die Methode GetSource(). Die hat kein Rückgabewert, obwohl sie mit "Get" anfängt. Das spricht gegen die Erwartungshaltung der Methode. Get deutet immer auf eine Methode hin, die irgendwas zurückliefert aber das tut sie hier nicht.