Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

vorab bin mir nicht sicher ob das Thema nicht doch eher in Anwendungssoftware reingehört.

Sollte ich mich falsch entschieden haben entschuldigt mich :).

Ich heute mal wieder das Problem gehabt das ich ein Projekt nicht gefunden habe.

Da ich prinzipiell gerne mal was teste bevor ich es ins projekt übernehme, habe ich mir die unvorteilhafte angewohntheit zueigen gemacht, das Projekt zu kopieren und den Projektordner einen _ am anfang verpasst oder in old oder new etc. genannt.

Das führt jetzt dazu das ich stunden mit der Suche nach dem richtigen Projekt verbringe.

Absolute verschwendete Zeit. Ich habe zwar einen Ordner der Programmierung heißt und dieser hat wiederum unterordner für die Sprache (.NET,Delphi,cpp, etc.) aber mitlerweile ist der schon im Gigabyte Segment anzusiedeln und demnach ist die Suche immer recht Zeitintesiv.

Deswegen wollte ich mal fragen wie Ihr das so handhabt?

Benutzt Ihr ein Versionierungsprogramm oder ein Projekteverwaltungsprogramm?

Wenn ja was für eins denn?

lg

Gateway

Geschrieben

Genrell ist ne Quellcodeverwaltung und Versionierung ne gute Idee. Mein Favorit dabei ist Subversion mit Tortoise als Client. Wenn man dann mal was verhaut, kann man einen alten Stand wiederherstellen. Außerdem können mehrere am gleichen Projekt arbeiten und später mergen.

Bei uns hat es sich auch eingebürgert, Dokumente zum Projekt miteinzuchecken. Und viele haben einen lokalen Unterordner a la "Testzeugs", wo man mal eben schnell eine kleine Testapplikation gebaut hat. Da tummeln sich dann auch zu einem Projekt dann mal irgendwann 10 kleine Testapplikationen.

Privat bin ich dabei, mir ein Wiki aufzubauen, wo ich Codeschnippsel o.ä. sammle, die sich mal irgendwann als nützlich erwiesen haben... jetzt nicht nur 1:1 aus dem Netz kopiertes (dafür gibts Bookmarks), sondern vor allem eigene Lösungen. Wiki hat den Vorteil, dass man sowohl verschiedene Kategorien vergeben als auch Volltextsuche betreiben kann. Außerdem ists kostenlos. Viele KnowledgeManagement-Lösungen sind es leider nicht. Und weils auf meinem eigenen Server liegt, habe ich von überall drauf Zugriff.

Geschrieben

Es wundert mich, dass Du noch kein VCS im Einsatz hast. Ab einem gewissen Grad an professioneller Programmierarbeit kommt man nicht umhin ein derartiges Werkzeug zu (be)nutzen. Ich kann mich meinem Vorredner nur anschließen und Dir getrost git empfehlen - Mercurial kann ich insofern nicht empfehlen, da ich es selbst nicht im Einsatz habe. Je nachdem würde ich an Deiner Stelle auch über CI-Systeme (Continous Integration) nachdenken (Jenkins et. al.).

Daneben spricht auch nichts dagegen in einem Projekt mehrere Unterprojekte zu integrieren, so dass Du neben dem Hauptprojekt (quasi dem Main-Trunk) eine Spielwiese hast - was Du natürlich mittels VCS sinnvoller aufziehen könntest ;)

Geschrieben
Für eine Person ist svn okay, wenn mehrere dran arbeiten würde ich zu Mercurial oder Git tendieren.

Was sind die Vorteile von Mercurial oder git gegenüber svn oder TFS?

Geschrieben (bearbeitet)
...Es wundert mich, dass Du noch kein VCS im Einsatz hast. Ab einem gewissen Grad an professioneller Programmierarbeit kommt man nicht umhin ein derartiges Werkzeug zu (be)nutzen. Ich kann mich meinem Vorredner nur anschließen und Dir getrost git empfehlen....

Hab git mal ausporbiert. Da stelln sich mir ja die nackenharre auf. Console?????

Ja ne ich brauch was, was ich auch in eile verwenden kann. Sprich GUI. Zudem habe ich wenig lust, mir irgendwelche obskuren steuerungsbefehle merken zu müssen. Das erleichert mir es nicht wirklich.

Daneben spricht auch nichts dagegen in einem Projekt mehrere Unterprojekte zu integrieren, so dass Du neben dem Hauptprojekt (quasi dem Main-Trunk) eine Spielwiese hast - was Du natürlich mittels VCS sinnvoller aufziehen könntest ;)

Ja das ist schon der Fall aber das macht es nicht wirklich überschaubarer.

Teilweise haben Projekte 20 zusatzprojekte, aber das ist auch nicht das gelbe vom Ei, da das auch ganz schnell im nirgendwo enden kann.

Für .NET Projekte habe ich mir vor zwei Jahren eine Anwendung geschrieben so wie ich es mir vorstellte. Allerdings ist die Anwendung in der Versenkung verschwunden und wurde auch nicht fertig geschrieben. Das war ein Multiuser system. Jeder Nutzer musste seine Projekteordner angeben, sowie seinen Ordner für fertige Projekte sowie einen Ordner wo die Dokumentationen abgelegt werden sollten.

Nachdem das eigegeben wurde, werden die Ordner für fertige Projekte sowie für laufende Projekte analysiert und die Daten in eine sqllite db gespeichert und entsprechend aufbereitet.

Das sah dann so aus wie auf dem ersten Bild.

Dann konnte ich mir auch noch die Details anzeigen lassen was so aussah wie auf Bild2.

Dann konnte ich deadlines definieren und prioritäten setzten. So dass ich per farbige hinterlegung in grid genau wusste wenn rot dann ists bald vorbei :).

Zudem konnte ich mir die entsprechenden Verweise des Projekts anzeigen lassen.

Über das Grid konnte ich auch einzelne Projekte direkt starten und bearbeiten oder als Fertig markieren und dann wird es direkt in den entsprechenden Ordner verschoben.

Sowas in der Art suche ich, nur eben nicht nur auf DOT NET Projekte beschränkt.

Ich werd mir mal die andern Programme anschauen die hier noch so genannt wurden.

lg

Gateway

post-47975-14430449108676_thumb.png

post-47975-14430449132797_thumb.png

Bearbeitet von Gateway_man
Geschrieben
Hab git mal ausporbiert. Da stelln sich mir ja die nackenharre auf. Console?????

Ja ne ich brauch was, was ich auch in eile verwenden kann. Sprich GUI. Zudem habe ich wenig lust, mir irgendwelche obskuren steuerungsbefehle merken zu müssen. Das erleichert mir es nicht wirklich.

Warum haben eigentlich alle eingefleischten Windowsler was gegen eine ordentliche Shell? *g*

Aber gut, das soll ja nicht zur Debatte stehen.

Wie wäre es damit:

Git Source Control Provider

Habe ich selbst im Einsatz. Einfacher geht's nicht.

Offiziell nutzen wir in unserer Firma den TFS - den ich allerdings $%&$&$ finde.

Geschrieben
Warum haben eigentlich alle eingefleischten Windowsler was gegen eine ordentliche Shell? *g*

:D Was soll ich sagen, muss nicht sein wenns nicht unabdingbar ist. Ich finde es geht einfach zehnmal schneller wenn ich ne gui habe die inituitiv ist :). Zumal ich schreibfaul bin :old. Da ist ne Console einfach nicht das beste.

Danke ich werds mir anschaun.

Schönen Abend noch.

lg

Gateway

Geschrieben
Warum haben eigentlich alle eingefleischten Windowsler was gegen eine ordentliche Shell? *g*

Weil viele Windows nur benutzen und nicht verstehen ;-) Powershell ist wohl das mächtigste Werkzeug von Windows und die wenigsten kennen oder benutzen es ;-) Es gibt keine schnellere GUI

Geschrieben
Powershell ist wohl das mächtigste Werkzeug von Windows und die wenigsten kennen oder benutzen es ;-) Es gibt keine schnellere GUI

Manchmal will man aber gar nicht das mächtigste, schnellste ..ste Werkzeug, sondern einfach ein intuitives und anwenderfreundliches ;)

Geschrieben

Sowas in der Art suche ich, nur eben nicht nur auf DOT NET Projekte beschränkt.

Du kennst inzwischen die strukturen der sln- und csproj-Dateien bzw. der anderen .NET-Equivalente. Genauso könntest Du auch an Delphi, Java & co herangehen.

Und wen Du das Projekt irgendwo (Sourceforrge o.ä.) einstellst, hast Du vllt. demnächst einige eifrige Mitstreiter.

Ich habe so etwas für eine allgemein verwendbare XML-Docu angefangen.... und habe dann leider auch mittendrin aufgehört .-(

Geschrieben (bearbeitet)
Weil viele Windows nur benutzen und nicht verstehen ;-) Powershell ist wohl das mächtigste Werkzeug von Windows und die wenigsten kennen oder benutzen es ;-) Es gibt keine schnellere GUI

Pauschalausagen sind immmer falsch :D. Zweifelsohne ist es das mächtigeste Werkzeug, aber zu sagen das es die schnellste GUI ist, ist schon sehr gewagt.

Der Syntaxumfang ist durch die breite an Funktionalitäten einfach enorm.

Daher bezweifle ich das jeder auf anhieb alle Befehle kennt. In ner GUI könntest du es einfach nur in nem eventhandler von nem Button legen und schon bekommst du dein ergebnis. Natürlich ist eine GUI immer statischer als die Console, aber definitv schneller.

Damit meine ich ich kann in der Regel schneller auf einen Button klicken als du schreiben kannst :D. Ich wette es geht nicht nur mir so, das ich beim nutzen der Powershell oftmals googlen muss weil mir der entsprechende Befehl einfach nicht mehr einfallen will xD.

Aber ich schweife ab.

Kann es sein das der Aufgabenbereich von Git die Versionskontrolle ist?

Ich suche jedoch mehr ein allgemeines Projektverwaltungstool wie ich oben schonmal erwähnt habe.

Du kennst inzwischen die strukturen der sln- und csproj-Dateien bzw. der anderen .NET-Equivalente. Genauso könntest Du auch an Delphi, Java & co herangehen.

Und wen Du das Projekt irgendwo (Sourceforrge o.ä.) einstellst, hast Du vllt. demnächst einige eifrige Mitstreiter.

Korrekt ich habe die sln files der Projekte geparsed. Beim .NET ist das schonmal relativ leicht. Das Problem in C++ ist einfach das viele IDEs da Ihr eigenes süppchen brauen.

Aber da es ja nur für mich ist und ich in der Regel immer dieselbe GUI für cpp und delphi hernehme ist das ja kein Problem.

Hm naja bevor ich das öffentlich stellen könnte müsste ich erstmal den saufhaufen etwas sauberer aufbauen da ich das niemanden zumuten will.

Aber an sich hast du recht ich werd da warscheinlich wieder selbst handanlegen, da niemand meine Anforderungen besser erfüllen kann als ich selbst :).

Ich werd trotzdem noch die Empfehlung von SilentDemise mal antesten.

Danke an alle für eure tatkräftige hilfe.

lg

Gateway

Bearbeitet von Gateway_man
Geschrieben

Korrekt ich habe die sln files der Projekte geparsed. Beim .NET ist das schonmal relativ leicht. Das Problem in C++ ist einfach das viele IDEs da Ihr eigenes süppchen brauen.

Eine Strategy pro Süppchen... ;)

Ich kenn jetzt die Projektstrukturen von Delphi nicht so... um da die an die References zu kommen, müsste man wohl jede pas-Datei auf ihre Uses-Abschmitte parsen?

Geschrieben
Kann es sein das der Aufgabenbereich von Git die Versionskontrolle ist?

Benutzt Ihr ein Versionierungsprogramm oder ein Projekteverwaltungsprogramm?

Wenn ja was für eins denn?

Wenn ich auf den Operator "oder" verweisen darf ... Ja. Natürlich ist git ein VCS. Es hat auch niemand etwas anderes behauptet.

Da ich prinzipiell gerne mal was teste bevor ich es ins projekt übernehme, habe ich mir die unvorteilhafte angewohntheit zueigen gemacht, das Projekt zu kopieren und den Projektordner einen _ am anfang verpasst oder in old oder new etc. genannt.

Dieser Anwendungsfall lässt sich prima mit git (oder einem anderen VCS abbilden). Forke in einen Experimental Trunk, spiele rum und integriere, was Du für sinnvoll hälst.

Ich suche jedoch mehr ein allgemeines Projektverwaltungstool wie ich oben schonmal erwähnt habe.

Welche Ansprüche hast Du denn an ein "Projektverwaltungstool"?

Geschrieben
Eine Strategy pro Süppchen... ;)

Ich kenn jetzt die Projektstrukturen von Delphi nicht so... um da die an die References zu kommen, müsste man wohl jede pas-Datei auf ihre Uses-Abschmitte parsen?

Hm ja das wäre eine Möglichkeit. Zusätzlich könnte man nen Parser für die Projektdateien schreiben um über das Projekt ein bisschen mehr informationen zu sammeln.

Beispielaufbau:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>

<ProjectGuid>{86D55611-95E5-47D5-A34C-6815B0237ADD}</ProjectGuid>

<ProjectVersion>12.0</ProjectVersion>

<MainSource>Project1.dpr</MainSource>

<Config Condition="'$(Config)'==''">Debug</Config>

<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>

</PropertyGroup>

<PropertyGroup Condition="'$(Config)'=='Basis' or '$(Base)'!=''">

<Base>true</Base>

</PropertyGroup>

<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">

<Cfg_1>true</Cfg_1>

<CfgParent>Base</CfgParent>

<Base>true</Base>

</PropertyGroup>

<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">

<Cfg_2>true</Cfg_2>

<CfgParent>Base</CfgParent>

<Base>true</Base>

</PropertyGroup>

<PropertyGroup Condition="'$(Base)'!=''">

<DCC_DependencyCheckOutputName>Project1.exe</DCC_DependencyCheckOutputName>

<DCC_ImageBase>00400000</DCC_ImageBase>

<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>

<DCC_Platform>x86</DCC_Platform>

<DCC_E>false</DCC_E>

<DCC_N>false</DCC_N>

<DCC_S>false</DCC_S>

<DCC_F>false</DCC_F>

<DCC_K>false</DCC_K>

</PropertyGroup>

<PropertyGroup Condition="'$(Cfg_1)'!=''">

<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>

<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>

<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>

<DCC_DebugInformation>false</DCC_DebugInformation>

</PropertyGroup>

<PropertyGroup Condition="'$(Cfg_2)'!=''">

<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>

</PropertyGroup>

<ItemGroup>

<DelphiCompile Include="Project1.dpr">

<MainSource>MainSource</MainSource>

</DelphiCompile>

<DCCReference Include="Unit1.pas">

<Form>Form1</Form>

</DCCReference>

<BuildConfiguration Include="Basis">

<Key>Base</Key>

</BuildConfiguration>

<BuildConfiguration Include="Debug">

<Key>Cfg_2</Key>

<CfgParent>Base</CfgParent>

</BuildConfiguration>

<BuildConfiguration Include="Release">

<Key>Cfg_1</Key>

<CfgParent>Base</CfgParent>

</BuildConfiguration>

</ItemGroup>

<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>

<ProjectExtensions>

<Borland.Personality>Delphi.Personality.12</Borland.Personality>

<Borland.ProjectType/>

<BorlandProject>

<Delphi.Personality>

<Parameters>

<Parameters Name="UseLauncher">False</Parameters>

<Parameters Name="LoadAllSymbols">True</Parameters>

<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>

</Parameters>

<VersionInfo>

<VersionInfo Name="IncludeVerInfo">False</VersionInfo>

<VersionInfo Name="AutoIncBuild">False</VersionInfo>

<VersionInfo Name="MajorVer">1</VersionInfo>

<VersionInfo Name="MinorVer">0</VersionInfo>

<VersionInfo Name="Release">0</VersionInfo>

<VersionInfo Name="Build">0</VersionInfo>

<VersionInfo Name="Debug">False</VersionInfo>

<VersionInfo Name="PreRelease">False</VersionInfo>

<VersionInfo Name="Special">False</VersionInfo>

<VersionInfo Name="Private">False</VersionInfo>

<VersionInfo Name="DLL">False</VersionInfo>

<VersionInfo Name="Locale">1031</VersionInfo>

<VersionInfo Name="CodePage">1252</VersionInfo>

</VersionInfo>

<VersionInfoKeys>

<VersionInfoKeys Name="CompanyName"/>

<VersionInfoKeys Name="FileDescription"/>

<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>

<VersionInfoKeys Name="InternalName"/>

<VersionInfoKeys Name="LegalCopyright"/>

<VersionInfoKeys Name="LegalTrademarks"/>

<VersionInfoKeys Name="OriginalFilename"/>

<VersionInfoKeys Name="ProductName"/>

<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>

<VersionInfoKeys Name="Comments"/>

</VersionInfoKeys>

<Source>

<Source Name="MainSource">Project1.dpr</Source>

</Source>

</Delphi.Personality>

</BorlandProject>

<ProjectFileVersion>12</ProjectFileVersion>

</ProjectExtensions>

</Project>

@lilith2k3:

Ja sorry das oder hätte ich nicht schreiben dürfen. Notfalls hätte man sich noch an den Threadtitel orientieren können.

Meine Ansprüche an ein "Projektverwaltungstool":

==> Anzeigen aller Projekte mit status (fertig, nicht fertig)

==> Informationsanzeige (welche Sprache, IDE Version, eventuelle Deadlines, Version, Projektoutput, zusätzliche Vermerke, eventuelle Ressourcen vermerke (wenn beispielsweise mehrere Leute dran arbeiten --> Gantdiagramm), Titel, Referenzen)

==> Möglichkeit das Projekt direkt aus der Anwendung zu starten

==> Interner Explorer der mir bei der detailansicht des Projektes die möglichkeit bietet den rootpfad des Projektes zu durchforsten und einzelne Dateien daraus zu starten.

==> Logische Verknüpfungen von Projekten.

Das heißt. Wenn das Programm verschiedenen Versionen von Projekten im Projekteordner endeckt soll es nur die neuste Version in der Liste anzeigen und die älteren bei der Detailansicht in einer History anzeigen.

==>Natürlich darf da auch nicht die Möglichkeit fehlen Dokumentation mit Projekte zu Verknüpfen (erstellen, bearbeiten, etc.)

Dann könnte man noch über ein Modul nachdenken das Ressourcen über einen Server mit anderen Projektteilnehmern shared, aber das wäre denke ich für erste zuviel und doch eher optional ;).

Ich hör lieber mal mit den Aufzählungen auf, da ich endlos so weiter machen könnte und das beim besten willen kein "tool" mehr wäre. Aber im Prinzip gibts da noch maßig Ausbaumöglichkeiten.

lg

Gateway

Geschrieben

Ja sorry das oder hätte ich nicht schreiben dürfen. Notfalls hätte man sich noch an den Threadtitel orientieren können.

Meine Ansprüche an ein "Projektverwaltungstool":

==> Anzeigen aller Projekte mit status (fertig, nicht fertig)

==> Informationsanzeige (welche Sprache, IDE Version, eventuelle Deadlines, Version, Projektoutput, zusätzliche Vermerke, eventuelle Ressourcen vermerke (wenn beispielsweise mehrere Leute dran arbeiten --> Gantdiagramm), Titel, Referenzen)

==> Möglichkeit das Projekt direkt aus der Anwendung zu starten

==> Interner Explorer der mir bei der detailansicht des Projektes die möglichkeit bietet den rootpfad des Projektes zu durchforsten und einzelne Dateien daraus zu starten.

==> Logische Verknüpfungen von Projekten.

Das heißt. Wenn das Programm verschiedenen Versionen von Projekten im Projekteordner endeckt soll es nur die neuste Version in der Liste anzeigen und die älteren bei der Detailansicht in einer History anzeigen.

==>Natürlich darf da auch nicht die Möglichkeit fehlen Dokumentation mit Projekte zu Verknüpfen (erstellen, bearbeiten, etc.)

Dann könnte man noch über ein Modul nachdenken das Ressourcen über einen Server mit anderen Projektteilnehmern shared, aber das wäre denke ich für erste zuviel und doch eher optional ;).

Ich hör lieber mal mit den Aufzählungen auf, da ich endlos so weiter machen könnte und das beim besten willen kein "tool" mehr wäre. Aber im Prinzip gibts da noch maßig Ausbaumöglichkeiten.

lg

Gateway

smells like Team Foundation Server mit Sharepoint-Integration

Geschrieben (bearbeitet)

Ich kenn jetzt den TFS nicht (hatte zwar in diesem Thread schon nach den Unterscheiden gefragt, ist aber irgendwie untergegangen).

Das, was Du suchst, ist eigentlich ein etwas aufgebohrtes Tool für Projektmanagement mit speziellen Integrationen für Softwareentwicklung.

Es gibt schon einige "vernetzte" Projekte, wo VCS, Bugtracker und Wiki ineinandergreifen (z.B. Trac). AFAIK fehlt da aber die von Dir gewünschte softwareseitige Berücksichtigung der IDEs. Der TFS wäre bei soetwas auf .NET beschränkt.

edit: wenn Ir bereits eine Softare für CRM/Projektmanagement im Einsatz habt, die die normalen Funktionen nbereits bietet, und Ihr evtl. Partnerstatus habt, dann wäre die individuelle Erweiterung für die entwicklerspezischen Features relativ flott umsetzbar.

Bearbeitet von Pixie

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...