Global Procedure Include

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Re: Global Procedure Include

Beitrag von Bisonte »

GPI hat geschrieben:Das ganze sollte halt auch möglichst unkompliziert sein. Wenn jeder Codefetzen durch einen Admin freigeschaltet werden muss, dann verläuft sowas auch schnell im Sand.
Genau das ist der Punkt. Schaut euch doch einmal PureBasic Street an. Ich finde das Konzept solide und es sieht aufgeräumt aus. Der Seitenbetreiber muss sich hier eigentlich eher weniger um die Codes kümmern. Nur den groben "Schwachfug" raussortieren. Dort ist jeder der einen Code reinstellt auch selbst dafür verantwortlich.

Für den Aufwand eigentlich ideal... es muss halt nur benutzt werden, damit es wächst ....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: Global Procedure Include

Beitrag von TroaX »

Bisonte hat geschrieben:Für den Aufwand eigentlich ideal... es muss halt nur benutzt werden, damit es wächst ....
Ich finde es ehrlich gesagt nicht ideal. Das Teil ist nichts weiter als eine Download-Datenbank, wo man die Downloads diskutieren und bewerten kann. Man hat also keinen direkten Anhaltspunkt, ob der Code noch läuft oder nicht. Und genau darum sollte es ja gehen. Denn die meisten Ressourcen (Egal ob im Forum oder extern) geben einem zwar den Code. Aber ich musste halt auch immer wieder feststellen, das viele Sachen einfach nicht mehr funktionieren. Niemand entfernt oder kennzeichnet das Gewerks. Und wenn man Code-Files hat hilft einem die PB-Version auch nicht weiter. Denn es gibt Codes, die funktionieren seit PB 4.XX bis heute. Es gibt Codes, die haben nur eine Version überlebt.

Bei einer Forensoftware wurde schon gesagt, das der moderative Aufwand einfach zu groß ist. Denn die Community kann die Startposts mit den Codes nicht bearbeiten. Keiner von denen kann also einen Code als veraltet oder disfunktional markieren. Noch dazu bekommt man bei einer Forensoftware den Code nicht in eine einzelne Tabellenzelle in der Datenbank. So lassen sich keine automatischen Packages für die Codebausteine oder einem externen Offlinereader (wie bei RSBasic z.B.) erstellen. Und ich glaube nicht, das einer Bock hat, für solche Builds alle Codes per Hand einzeln einzupflegen.
X0r hat geschrieben:Etwas bewandert in PHP zu sein, ist sicher keine gute Basis für solch ein Projekt. Schließlich können gerade bei der Verwendung von PHP enorme Sicherheitslücken entstehen.
Wie bei allen anderen Programmier- und Skriptsprachen auch. PHP ist nun einmal am verbreitesten und ist auf fast jedem Webspace verfügbar. Und sollte einem der Webspace mal wegbrechen, ist ein Umzug der Seite auch sehr einfach.
GPI hat geschrieben:Zurück zum Thema. Ideal wäre es schon, wenn man ein Standard-Script benutzen kann. Wenn man was eigenes Entwickelt, ist immer die Gefahr, das derjenige aufhört und das ganze verwaist. Das ganze sollte halt auch möglichst unkompliziert sein. Wenn jeder Codefetzen durch einen Admin freigeschaltet werden muss, dann verläuft sowas auch schnell im Sand.
Wenn man das Skript nur auf das nötigste reduziert und bei der Umsetzung nicht als erstes an irgendwelche Monster-Frameworks denkt, dann ist die Wartbarkeit schon gegeben. Ich persönlich fasse keine Anwednungen an, die auf irgendwelche Frameworks basieren. Dank OOP finde ich in den Dreck nie rein und ich muss erst einmal gefühlte 2.000 Din A4 Seiten Dokumentationen wälzen, bis ich überhaupt weiß, was da abgeht. Beim CSP-Projekt damals konnte ich bereits nach einer Stunde anfangen, Fehler auszubügeln und neue Module zu schreiben ( http://www.csphere.eu/ ). Das Projekt ist leider mittlerweile tot, da die Entwickler vor 6 oder 7 Jahren mit einem OOP-CMS angefangen haben und bis heute nicht fertig wurden.

Wie gut die Wartbarkeit ist haben wir also selber unter Kontrolle und wenn wir das ganze nicht bis zum erbrechen vollstopfen, dann ist die Wahrscheinlichkeit von Sicherheitsproblemen auch geringer. Weniger Code = weniger Angriffsfläche. Weniger Code = bessere Übersicht. Logischer modularer Aufbau = bessere Wartbarkeit. Gerade bei PHP finde ich den klassischen Aufbau (wie bei CSP) von Webanwendungen besser als diese ganzen modernen Frameworks. Das sehen fast alle anderen anders. Aber für mich mich funktioniert es so und dann ist mir das auch vollkommen wumpe, was alle anderen meinen. Wenn man das ganze wie gesagt auf das mindeste reduziert und kompakt hält, sollte man also mit der Weiterentwicklung kein Problem haben.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Global Procedure Include

Beitrag von GPI »

liegt imo auch daran das es einfach unübersichtlich ist.

Das man die Unterkategorien nur sieht, wenn man in die Kategorie reingeht, ist leider nicht so praktikabel. Auch ist das ganze etwas unübersichtlich. Ich hab mich zuerst mal gewundert, wo der Code sein soll - bis ich gemerkt hab, ich muss runterscrollen - zumindest auf meinen Laptop hier.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Re: Global Procedure Include

Beitrag von Bisonte »

GPI hat geschrieben:liegt imo auch daran das es einfach unübersichtlich ist.

Das man die Unterkategorien nur sieht, wenn man in die Kategorie reingeht, ist leider nicht so praktikabel. Auch ist das ganze etwas unübersichtlich. Ich hab mich zuerst mal gewundert, wo der Code sein soll - bis ich gemerkt hab, ich muss runterscrollen - zumindest auf meinen Laptop hier.
Sehe ich ein. In Zeiten von Widescreens extensiven Gebrauch von Höhe anstelle von Breite zu wählen ist etwas ... äh... falsch ;)
Aber es geht mir im Grunde nur um das Prinzip.

Ich glaube da müssten jetzt einige "anfassbare" - sprich ausführbare - Vorschläge kommen, um sich ein Bild zu machen.
Oh mann, das klingt hier so wie auf der Arbeit :mrgreen:
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
computerfreak
Beiträge: 112
Registriert: 23.07.2012 19:19

Re: Global Procedure Include

Beitrag von computerfreak »

Jetzt muss ich nach gefühlt 5 Jahren auch mal wieder was Posten ;)

Das Stichwort 'GitHub' ist ja schon ein paar mal gefallen. Wäre das dafür nicht eine Super Plattform?

Es gibt Möglichkeiten wie Teams, Wiki, Branches (für verschiedene PB Versionen ?)

Nur so als Idee:
Es gibt ein Projekt (z.B. PureBasic - Code Library)
Die Kategorien (Input/Graphics...) sind jeweils einzelne Repositories.
Jedes Repository hat 4 Unterordner (Windows, Mac, Linux, Crossplatform)
Die einzelnen Codes werden dort hinein gepusht - die Qualitätssicherung übernehmen alle zusammen.

es müsste halt einen 'Superadmin' geben, der auch die Benutzerverwaltung u.s.w. regelt, ich denke aber dieser hätte auch nicht all zu viel zu tun.

Wenn es schon eine 'Social Coding' Plattform gibt, muss man ja nicht das Rad neu erfinden, oder ?
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Re: Global Procedure Include

Beitrag von X0r »

Wenn es schon eine 'Social Coding' Plattform gibt, muss man ja nicht das Rad neu erfinden, oder ?
Sehe ich auch so. Vor allem stecken hinter diesen Plattformen auch richtige IT-Spezialisten, die mit Webtechnologien bestens vertraut sind. Da kann man die Zeit und Energie dann gänzlich in die eigentliche Arbeit investieren.
Ich denke schon, das ich die neue IDE in der Hinsicht sehr wohl beeinflusst habe.
Und dafür gibt's in der PB IDE nicht mal ein "Thanks to GPI" oder "Inspired by jaPBe". Wie gemein! :mrgreen:
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Global Procedure Include

Beitrag von GPI »

Ok, mit Github hab ich nicht so viele Erfahrung und nicht zu sagen keine.
Allerdings seh ich gerade einen sehr kritischen Punkt: Kann man einzelne Benutzer die Rechte nur an den eigenen Dateien, die man hochgeladen hat, geben oder können sie alle Dateien editieren?
Eigentlich widerspricht das doch den Gedanken von ein Git, oder? Ich vermute mal letzteres, da so ein Github ja dafür gedacht ist, das mehrere Leute miteinander arbeiten und nicht gegeneinander.

Imo ein sehr zentraler Punkt an der ganzen Sache. Ansonsten kann man nur darauf warten, das ein Spinner sich mal anmelden, um Mitgliedschaft bittet und zahlreiche Dateien manipuliert/ändert, weil a) entweder ein Depp ist der nur Schaden anrichten will oder b) er es besser weis und allen sein Programmierstiel aufdrücken will. Klar, kann man wieder rückgängig machen, aber solche Typen können sehr ekelhaft penetrant sein und mit neuen User zurückkehren.

Wir bräuchten da eher ein Model wie in diesen Forum. Jeder kann Dateien erstellen und seine editieren, aber nur Admins/mods können fremde Dateien löschen.
Gibt es eigentlich bei GitHub eine Diskussionsmöglichkeit für jede Datei? Hab ich schon erwähnt, wie furchtbar schlecht ich die Hilfe auf der GitHub-Seite finde?

Für diese Art des Projekts halte ich das ganze für sehr unpraktisch. Das kann nur funktionieren, wenn ein paar Mods/Admins gibt, die hier in Forum eingereichte Codebeispiele in das GitHub überführen und dabei auf einen einheitlichen Header bei jeder Datei beachten - mit bspw. link auf das Forum. Auch hier würde ich mal bei Fred anfragen, ob es einen entsprechenden Bereich in Forum bekommen, so das man nicht jedes mal Nachfragen muss, ob man es in GitHub veröffentlichen darf.

Und man müsste mal in englischen und französischen Forum rumfragen, was sie von der Idee halten. Vorher würde ich aber in einer kleinen Gruppe mal alles durchdiskutieren. Es kann nie schaden mit einen ausgearbeitet Konzept hausieren zu gehen.
Hier würde ich auch gleich eine Grundregel aufstellen: Sämtliche Codebeispiele *MÜSSEN* in Englisch verfasst werden. Ist nunmal die Sprache, wenns um programmieren geht.

Achja - ein Grundtutorial, wie man mit Github umgeht, sollte man auch schreiben - für LInux/Mac/Windows - in allen drei Sprachen.

Wie gesagt, ich kenn mich mit Github nicht aus, aber gibt es die Möglichkeit eine repository auf komplett frei zugängliche stellen? So das jeder Dateien dort ändern/hinzufügen kann ohne den Benutzer den Projekt explizit hinzugefügt zu werden? Und kann man dann diese manuell per Hand mit einer anderen repository vermengen? Dann könnte man eine frei zugängliche für Codeeinreichungen benutzen und die Mods/Admins können das ganze dann leichter in die öffentliche hinzufügen.

Wer mit Github-Erfahrung, der mal einen kurzen Überblick geben kann, was man mit Github alles machen kann - und wichtiger - was nicht geht. Was mich bspw. interessieren würde, steht ja oben :)

Weiter Punkte dürften sein, wie soll der Code aussehen.
Er muss einen Header mit wichtigen Infos enthalten. Die einzelnen Proceduren/module. Und Beispiele. Die Beispiele sollten auch mittels "CompilerIf #PB_Compiler_IsMainFile" umschlossen sein.

Oder welche "Ordner" es gibt. Wie wird das ganze Organisiert? Getrennter Bereich Codefetzen und Module? Welche Kategorien und Unterkategorien soll es geben. Hier legt man die Basis. Es sollte nicht zu fein und nicht zu grob sortiert sein, sonst wird unübersichtlich.

Achja: Auch noch ein Problem an GitHub - wie pflegt man verschiedene Versionen von PB ein? Das ist dort nicht vorgesehen. Also wie die Dateien bennen? Am einfachsten wäre es wohl mit Eckigen Klammern PB-Version und OS-Version dazuzuschreiben.

Das sind so meine Gedanken, die ich jetzt einfach mal in den Raum stelle.

Grüße,
Gerd :)
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
computerfreak
Beiträge: 112
Registriert: 23.07.2012 19:19

Re: Global Procedure Include

Beitrag von computerfreak »

Github bietet da viele Möglichkeiten.

Meine Idee wäre Folgende:

Jeder hier erstellt sich einen Github Account.
Auf seinem Account kann er dann beliebig an seinem Code basteln.

Dann gibt es ein Master-Repo. Auf dieses haben die Foren-Götter ;) (Nic, RSBasic, Stargate usw.) Zugriff.
Wenn man meint, der eigene Code ist reif für die Sammlung, kann man einen sogenannten Pull-Request schicken.
Das bedeutet, dass ein Mitglied des Master Repositories den Code zuerst prüfen muss, dann wird er dort aufgenommen.

Git-Clients sind zum Glück meist cross-platform. Ein Tutorial müsste also nur ein mal erstellt werden. Ich würde SourceTree empfehlen, mit dem habe ich die besten Erfahrungen gemacht.

Lasst es euch durch den Kopf gehen
Computerfreak
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Global Procedure Include

Beitrag von GPI »

Das einzige Problem das ich da gerade sehe - es ist schon etwas umständlich... Für viele ist es schon zu umständlich sich einen Account zu installieren. Dann noch einen Client und mit den auseinander zu setzen....

Da sollte es ein Plan-B-Team geben, das die Codes aus den Forum einsammelt. Ansonsten wird die Beteiligung zu niedrig sein.
Zuletzt geändert von GPI am 09.11.2015 17:20, insgesamt 1-mal geändert.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
computerfreak
Beiträge: 112
Registriert: 23.07.2012 19:19

Re: Global Procedure Include

Beitrag von computerfreak »

GPI hat geschrieben:Das einzige Problem das ich da gerade sehe - es ist schon etwas umständlich...
Dafür nicht nach 3 Tagen wieder offline :(
Antworten