Jetzt kann ich es beweisen: Klassen sind Funktionsbausteine!


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon DeathAndPain » 04.12.2018, 17:56

Als ich in meine aktuelle Wohnung eingezogen bin, war das ERSTE, was ich gemacht habe, ein Regal in den Keller einzubauen (richtig verankert in der Wand und so, und auch ein richtig stabiles Teil).

Ich auch, und nicht nur eins. Ich habe die ganze Kellerparzelle rundrum mit Schwerlaststahlregalen bestückt. Der effektiv nutzbare Platz vervielfacht sich dadurch! Wenn ich mir anschaue, wie es in den Nachbarparzellen aussieht... Und ich habe mit einem Beschriftungsgerät alle dort eingelagerten Kartons hinsichtlich ihres Inhalts beschriftet. Sowas nimmt man auch nicht ernst, aber wenn ich mal im Keller was suche, bin ich mir selber sehr dankbar, dass ich das habe.

Wenn es allerdings um eine Sache geht, mit der man täglich arbeitet, dann würde ich schon erwarten, dass man solche Mängel irgendwann glattzieht. An anderer Stelle geht es ja auch. Ein Beispiel: Wenn meine Erinnerung mich nicht völlig im Stich lässt, dann hat noch in den frühen Patchleveln von 7.50 der APPEND-Befehl die Raute nicht unterstützt. Man konnte also nicht schreiben:

Code: Alles auswählen
APPEND value #( PERNR = '12345678' NAME = 'Herbert' ) TO meinetabelle.


sondern musste anstelle der Raute den Zeilentyp von meinetabelle explizit hinschreiben, obwohl man bei obenstehendem Befehl den Datentyp der anzufügenden Tabellenzeile ja durchaus statisch herleiten kann (jedenfalls wenn meinetabelle statisch typisiert ist).

Vor einiger Zeit haben wir auf den aktuellen Support Package-Stand geupgradet, und jetzt geht es, wie mir eher durch Zufall aufgefallen ist! Das haben sie auch gemacht, obwohl die neue Syntax ja inzwischen nicht mehr wirklich neu ist; die kam ja schon mit 7.40.

Du hast keine Ahnung, wie es in der Spieleindustrie aussieht, ne?

Doch, das weiß ich, doch Dein Einwand ist off-topic, denn ich habe nicht gesagt, dass es in der Spieleindustrie keinen Druck gibt, sondern dass die Übersetzung ein ebenso planbarer Schritt ist wie alles andere auch. Wenn also durch den Druck die Übersetzung nur pfuschlig gemacht werden kann, wieso müssen dann aus demselben Grund nicht auch Grafik, Sound und Leveldesign bei allen größeren Spieleprodukten pfuschlig werden? Anders gefragt: Wenn sie Grafik und Sound professionell hinbekommen, wieso müssen sie dann bei der Übersetzung eine amateurhafte Leistung abliefern?

Zumal die Spieltexte - zumindest der erdrückende Löwenanteil davon - ja nicht erst zu Projektende feststehen. Das ist also ganz problemlos zu parallelisieren, dass man die Texte übersetzen lässt, während an den restlichen Spielbestandteilen feingeschliffen wird. Da gibt es keinerlei Querabhängigkeiten, da man solche Textübersetzungen typischerweise in Customizingtabellen ablegt und alle anderen Spielbestandteile in der Originalsprache testet (mit der einzigen Falle, dass deutsche Texte bedeutend länger zu sein pflegen als ihre englischsprachigen Gegenstücke und dann oft nicht in den für den Text vorgesehenen Platz passen). Texte zu übersetzen dauert ja auch keine Jahre. Ich denke, wenn der Prototyp des Spieles englisch ist, dann reicht es zeitlich vollkommen aus, wenn man die Texte bei Vorliegen der ersten Betaversion in die Übersetzung gibt. Da es keine Querabhängigkeiten gibt, muss auch keiner auf den anderen warten. Wenn man sich die Mühe machen würde, dann könnte man problemlos den Übersetzer vorher in Ruhe eine späte Alpha zocken lassen, damit er das Spiel kennt und weiß, worum es geht, wenn er nachher übersetzt. Es genügt, sich beim Übersetzer rechtzeitig vorher die Kapazitäten zu reservieren, damit er dann bereitsteht.
DeathAndPain
Expert
 
Beiträge: 814
Registriert: 05.05.2006, 10:14
Dank erhalten: 189 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon SaskuAc » 05.12.2018, 07:40

DeathAndPain hat geschrieben:Wenn es allerdings um eine Sache geht, mit der man täglich arbeitet, dann würde ich schon erwarten, dass man solche Mängel irgendwann glattzieht. An anderer Stelle geht es ja auch. Ein Beispiel: Wenn meine Erinnerung mich nicht völlig im Stich lässt, dann hat noch in den frühen Patchleveln von 7.50 der APPEND-Befehl die Raute nicht unterstützt. Man konnte also nicht schreiben:

Code: Alles auswählen
APPEND value #( PERNR = '12345678' NAME = 'Herbert' ) TO meinetabelle.


sondern musste anstelle der Raute den Zeilentyp von meinetabelle explizit hinschreiben, obwohl man bei obenstehendem Befehl den Datentyp der anzufügenden Tabellenzeile ja durchaus statisch herleiten kann (jedenfalls wenn meinetabelle statisch typisiert ist).

Vor einiger Zeit haben wir auf den aktuellen Support Package-Stand geupgradet, und jetzt geht es, wie mir eher durch Zufall aufgefallen ist! Das haben sie auch gemacht, obwohl die neue Syntax ja inzwischen nicht mehr wirklich neu ist; die kam ja schon mit 7.40.



Naja, das ist aber ein Beispiel, welches man so nicht direkt hernehmen kann. Hier geht es direkt um Code und Syntax. Da ist die SAP noch eher hinterher als bei Dokumentation und der Weiterentwicklung von Entwicklungstools. Ich glaube auch, dass die SAP bei Code bestandteilen viel mehr foderungen aus der "Entwicklercommunity" bekommt als um solche Sachen wie Dokumentationshilfen oder Übersetzungshilfen.

DeathAndPain hat geschrieben:
Du hast keine Ahnung, wie es in der Spieleindustrie aussieht, ne?

Doch, das weiß ich, doch Dein Einwand ist off-topic, denn ich habe nicht gesagt, dass es in der Spieleindustrie keinen Druck gibt, sondern dass die Übersetzung ein ebenso planbarer Schritt ist wie alles andere auch. Wenn also durch den Druck die Übersetzung nur pfuschlig gemacht werden kann, wieso müssen dann aus demselben Grund nicht auch Grafik, Sound und Leveldesign bei allen größeren Spieleprodukten pfuschlig werden? Anders gefragt: Wenn sie Grafik und Sound professionell hinbekommen, wieso müssen sie dann bei der Übersetzung eine amateurhafte Leistung abliefern?

Zumal die Spieltexte - zumindest der erdrückende Löwenanteil davon - ja nicht erst zu Projektende feststehen. Das ist also ganz problemlos zu parallelisieren, dass man die Texte übersetzen lässt, während an den restlichen Spielbestandteilen feingeschliffen wird. Da gibt es keinerlei Querabhängigkeiten, da man solche Textübersetzungen typischerweise in Customizingtabellen ablegt und alle anderen Spielbestandteile in der Originalsprache testet (mit der einzigen Falle, dass deutsche Texte bedeutend länger zu sein pflegen als ihre englischsprachigen Gegenstücke und dann oft nicht in den für den Text vorgesehenen Platz passen). Texte zu übersetzen dauert ja auch keine Jahre. Ich denke, wenn der Prototyp des Spieles englisch ist, dann reicht es zeitlich vollkommen aus, wenn man die Texte bei Vorliegen der ersten Betaversion in die Übersetzung gibt. Da es keine Querabhängigkeiten gibt, muss auch keiner auf den anderen warten. Wenn man sich die Mühe machen würde, dann könnte man problemlos den Übersetzer vorher in Ruhe eine späte Alpha zocken lassen, damit er das Spiel kennt und weiß, worum es geht, wenn er nachher übersetzt. Es genügt, sich beim Übersetzer rechtzeitig vorher die Kapazitäten zu reservieren, damit er dann bereitsteht.



Stimmt nicht. Die Texte sind das letzte was feststeht ... ( quelle: gamespodcast.de ( man muss den 5$ patreon / 5€ steady beitrag zahlen damit man den entsprechenden podcast hören kann ) ) Das Aufwendigste ( handwerklich gesehen ) sind bei weitem nicht die Texte und Sprachaufnahmen .. Die Texte werden Anfangs meist erst als eine Art Platzhalter gemacht, damit man Grafik und Spieldesign und die ganzen Mechaniken Entwickeln und Testen kann. ( Mal so als Beispiel, die (deutschen) Übersetzer von Asassins Creed Black Flag hatten 1,5 Monate Zeit das komplette Spiel zu Übersetzen .. - und das hatte vergleichsweise wenig Text, wenn man das mal mit nem Rollenspiel alá Divinity Original Sin 2 vergleicht )

Ich stimme dir in dem Punkt zu, dass die Lokalisierung ( also Übersetzung ) eigentlich ein planbarer Schritt wäre und dass man dem viel mehr Zeit einräumen sollte. Aber wie schon gesagt. Story und die Texte sind das letzte an das Gedacht wird ( ja, auch bei Narrativ getriebenen Spielen ). Um bei meinem Beispiel von oben zu bleiben ( mehr oder weniger ) - Larian Studios hat bei Divinity die Story und Texte erst ca. ein dreiviertel Jahr vor Release angefangen. - Wie also in aller hergottsnamen, sollen die Übersetzungsstudios das Spiel dann noch spielen und übersetzen ( in dieses Spiel kann man mehrere 100 Stunden stecken - und im Schnitt zum reinen durchspielen braucht man 80 - 90 Stunden ). Das funktioniert schlichtweg nicht.

Und wie Ralf schon geschrieben hat:

ralf.wenzel hat geschrieben:
DeathAndPain hat geschrieben:Zeitdruck haste überall und bei allen Projekten


Du hast keine Ahnung, wie es in der Spieleindustrie aussieht, ne? Unter dem Druck, unter dem dort gearbeitet wird, möchte ich nie arbeiten. Und ja: Ich HATTE schon Druck in Projekten, bis hin zum Ausbruch von Schuppenflechten.



Zeitdruck ist im Zuge der Spieleentwicklung eine ganz andere Dimension die wir haben. Aktuelles Beispiel, die Storywriter ( und andere Entwickler ) von Read Dead Redemption 2 haben gesagt, dass 100-Stunden Arbeitswochen teilweise "normal" gewesen sein. und das nicht nur einmal ( quelle: http://www.pcgames.de/Red-Dead-Redempti ... n-1267188/ - und der oben beschriebene Podcast, gamespodcast.de ) - Also bei großen Produktionen sind selten Arbeitswochen unter 65 Stunden da. Egal, ob das jetzt von Rockstar Games oder von Ubisoft kommt. ( von EA mal ganz zu schweigen ) - Die einzigen die hier eventuell weniger Druck haben sind die Indie Entwickler.
Wenn ich mal eine 50 Stunden Woche habe schimpfe ich schon, weil ich darauf schlichtweg keine Lust und keine private Zeit habe. Was macht dann erst jemand der mehr Stunden arbeiten muss und zugleich vielleicht noch Frau und Kinder hat? - Wie soll das funktionieren? Also bitte rede nicht davon, dass Zeitdruck in der Spieleindustrie das gleiche ist wie bei uns "normalen" Entwicklern im SAP-Umfeld.


EDIT: Ich werde mich hier jetzt ausklinken - weil das Thema inzwischen schon gar nicht mehr behandelt wird ( und über spieleentwicklung will ich in einem ABAP-Forum eigentlich nicht diskutieren ^^ ). Für mich als Zusammenfassung, die SAP behandelt OO wie das Kind dass sie nie haben wollte und vernachlässigt die Weiterentwicklung und Unterstützung ( durch Tools ) im R/3-Umfeld vollkommen. ( Ist aber nix neues )
SaskuAc
Specialist
 
Beiträge: 208
Registriert: 01.06.2015, 10:16
Dank erhalten: 19 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon nickname8 » 05.12.2018, 08:24

Da wir immer noch auf einem grotten alten System rumhacken hier mal die Frage: wie sieht die Toolunterstützung in Eclipse für OO aus? Da hat man ja nicht diese ganzen Masken und Assistenten, um eine Klasse zu definieren/implementieren, oder?
nickname8
ForumUser
 
Beiträge: 75
Registriert: 18.07.2015, 08:22
Dank erhalten: 9 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 05.12.2018, 08:51

Nein, und das ist auch gut so — für Leute, denen die Klickerei auf die Nüsse geht, weil sie schneller tippen als sprechen können. Dafür ist das Refactoring einfacher. Aber die Dokumentationsmöglichkeiten sehr schmal (die schönen SAPscript-Dokus gibt es halt nicht, die würde ich in der SE80 nachpflegen — wobei man 80% der Doku ohnehin generieren kann, weil die Infos ja im System vorhanden sind).


Ralf *konzeptioniert gerade einen Doku-Generator
ralf.wenzel
Top Expert
 
Beiträge: 3242
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 190 mal
Ich bin: Freiberufler/in

Vorherige

Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
s4hana-cloud
vor 8 Stunden von sap_inchen 1 Antw.
500 Internal Server Error
vor 16 Stunden von zzcpak 1 Antw.
Dokumentinformationen lesen vom DVS
vor 18 Stunden von Tron 4 Antw.
Tabs innerhalb von Tabs
vor 19 Stunden von ewx 4 Antw.
Fakturierungsplan in Kontrakten ändern
vor 15 Stunden von DeathAndPain 1 Antw.

  Ähnliche Beiträge beta
Was sind Berechtigungsobjekte?
01.10.2010, 09:53 von weigo 3 Antw.
ALV-Grid: Wo sind die Daten?
13.07.2005, 15:40 von ereglam 3 Antw.
Was sind konfigurierbare Positionen?
02.03.2006, 13:52 von said1980 2 Antw.
Wo sind die anderen Kostenstellen?
26.04.2018, 11:31 von Wann 3 Antw.
Was sind Field-Symbols und wie benutzt man sie?
05.01.2005, 13:58 von babap 7 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder