Forum: PC-Programmierung Dateiname, Zeitstempel, Autor in Quellcode angeben


von Mrt (Gast)


Lesenswert?

Hi Leute,
hat jemand von euch ne Idee, ob/wie man z.b. das Datum einer *.c Datei 
an den Anfang dieser Datei automatisch schreiben lassen kann.
Bei OpenOffice heißt das Feldbefehl. OS: MSW oder Unix.

Also ungefähr so:

__________________________________________________
/********************************************
Datum:      "22.12.2020"
Autor:      "Heinz Hackel"
Dateiname:  "myavr.c"
********************************************/

#include ...
....
...


return 0;
}
______________________________________________

von Vlad T. (vlad_tepesch)


Lesenswert?

warum Anführungszeichen?
warum eigenes Format?
warum nicht auf was verbreitetes zurückgreifen, wie doxygen?

Beispiel aus Wordclock-projekt:
1
/*---------------------------------------------------------------------*//**
2
 * @file user.h
3
 * 
4
 *  The user-module handles the user interface of the wordclock
5
 *  \details
6
 *    This includes the reaction on the input via IR-RC as well as
7
 *    the output of the time.
8
 *
9
 * \version $Id: user.h 347 2010-08-19 20:13:32Z vt $
10
 * 
11
 * \author Copyright (c) 2010 Vlad Tepesch    
12
 * 
13
 * \remarks
14
 *   This program is free software; you can redistribute it and/or modify
15
 *   it under the terms of the GNU General Public License as published by
16
 *   the Free Software Foundation; either version 2 of the License, or
17
 *   (at your option) any later version.
18
 */
19
 /*---------------------------------------------------------------------*/

die Strichellinien sind nur für die Abhebung im Code und können auch 
weggelassen werden.
wichtig ist, dass die eigentliche Dokumentation mit "/** " beginnt

deswegen Tip zum Googeln: Doxygen

von Klaus W. (mfgkw)


Lesenswert?

Wenn man einen ordentlichen Editor nimmt, dann kann der das.
Leider hast du vergessen zu sagen, mit welchem du arbeitest.

svn und andere können das auch beim Einchecken.

von Mrt (Gast)


Lesenswert?

np++, vs2010 c++, gedit, ... egal

von Vlad T. (vlad_tepesch)


Lesenswert?

Klaus Wachtler schrieb:
> svn und andere können das auch beim Einchecken.

ich glaub, das kann so ziemlich jedes revision control system.
Da man ein solches eigentlich immer benutzen sollte, erübrigt sich die 
Frage nach dem Editor eigentlich.


im obigen Beispiel sorgt übrigens $Id$ dafür, dass die Informationen 
(Autor, Revision, datum) automatisch eingetragen werden.

von Klaus W. (mfgkw)


Lesenswert?

Mrt schrieb:
> np++, vs2010 c++, gedit, ... egal

egal kenne ich nicht; du meintest bestimmt emacs ... :-)

von bla (Gast)


Lesenswert?

Klaus Wachtler schrieb:
> egal kenne ich nicht; du meintest bestimmt emacs ... :-)

Haha...ihr Computerkinder der 80er seid doch alles Weichbecher. Wir 
haben damals noch direkt mit der Magnetnadel die Bits auf dem Band 
eingestellt! Nein, im Ernst: Ich bin sehr gespannt, welche 
Editorprogramme wir spät-90er Computerkinder (und damit IDE-Benutzer) in 
Zukunft so belächlen werden, wie die Emacser heute die IDEs... ;-)

von Vlad T. (vlad_tepesch)


Lesenswert?

bla schrieb:
> Haha...ihr Computerkinder der 80er seid doch alles Weichbecher. Wir
> haben damals noch direkt mit der Magnetnadel die Bits auf dem Band
> eingestellt!

http://xkcd.com/378/

von Gelegenheitsprogrammierer (Gast)


Lesenswert?

Vlad Tepesch (vlad_tepesch) schrieb:

> .. das kann so ziemlich jedes revision control system.
> Da man ein solches eigentlich immer benutzen sollte, erübrigt sich die
> Frage nach dem Editor eigentlich.

"revision control system" ??

Mal im ernst, wozu bracht man sowas?

Schreibt ihr ständig an Quelltexten, die auch 20 andere Leute beackern?

Wenn ich an meinem C-Code was ändere dann kommt ein neues Datum in den 
Dateikopf (zuletzt geändert am ..) und entsprechende Kommentare dazu, so 
dass ich mich zurecht finde und gut ist es. Wozu so einen zusätzlichen 
Ballast aufladen?

Oder geht es hier um größere Projekte die dann auf sourceforge.net 
landen?

von Jasch (Gast)


Lesenswert?

Gelegenheitsprogrammierer schrieb:
> Vlad Tepesch (vlad_tepesch) schrieb:
>
>> .. das kann so ziemlich jedes revision control system.
>> Da man ein solches eigentlich immer benutzen sollte, erübrigt sich die
>> Frage nach dem Editor eigentlich.
>
> "revision control system" ??
>
> Mal im ernst, wozu bracht man sowas?

Ist halt gelegentlich ganz nett zu haben.

> Schreibt ihr ständig an Quelltexten, die auch 20 andere Leute beackern?

Ja, nein, kommt drauf an.

> Wenn ich an meinem C-Code was ändere dann kommt ein neues Datum in den
> Dateikopf (zuletzt geändert am ..) und entsprechende Kommentare dazu, so
> dass ich mich zurecht finde und gut ist es. Wozu so einen zusätzlichen
> Ballast aufladen?

Ballast - Ansichtssache.

Datum und Kommentare könnte man auch als Ballast ansehen. Real 
Programmers(tm) don't comment their perfectly obvious code... ;-)

> Oder geht es hier um größere Projekte die dann auf sourceforge.net
> landen?

Für private kleine Projekte dürfte der typische Fall eher so aussehen: 
man hat 1, 2, 3 Tage lang den Code mächtig umstrukturiert. Dann fällt am 
Ende auf dass das alles Mist (vulgo: keine so gute Idee) war was man da 
versucht hat.

Und an dem Punkt wird eine Versionsverwaltung selbst für das 
1-Mann-Projekt sehr nützlich, sieh es einfach als eine Art etwas 
komisches Backup.

Nein, ist mir noch nie passiert, ich schwör!!!11!elf

von Rolf Magnus (Gast)


Lesenswert?

Gelegenheitsprogrammierer schrieb:
> Vlad Tepesch (vlad_tepesch) schrieb:
>
>> .. das kann so ziemlich jedes revision control system.
>> Da man ein solches eigentlich immer benutzen sollte, erübrigt sich die
>> Frage nach dem Editor eigentlich.
>
> "revision control system" ??
>
> Mal im ernst, wozu bracht man sowas?

Für mich gehört es zur Grundausstattung bei der Programmierung. Genauso 
könnte man fragen "wozu braucht man make". Es geht auch ohne, aber halt 
unkomfortabel.

> Schreibt ihr ständig an Quelltexten, die auch 20 andere Leute beackern?

Nein, aber das muß man auch nicht, um Revisionskontrolle sinnvoll zu 
nutzen.

> Wenn ich an meinem C-Code was ändere dann kommt ein neues Datum in den
> Dateikopf (zuletzt geändert am ..) und entsprechende Kommentare dazu, so
> dass ich mich zurecht finde und gut ist es.

Und wenn die Datei jetzt nicht mehr geht und du zurück zur vorherigen 
Version mußt, bzw. dir mal schnell einen diff zu einer früheren Version 
anschauen willst? Oder wenn du früher mal was gemacht hast, aber wieder 
rausgenommen, weil es damals nicht sinnvoll war und jetzt aber gerne 
wüßtest, wie das damals noch war? Oder wenn du mal experimentell eine 
größere Umstellung machen willst?
Klar kannst du dir auch ein Verzeichnis anlegen, wo du regelmäßig ein 
zip-File mit dem ganzen Projekt speicherst, aber übersichtlich ist das 
nicht. Es kostet mehr Arbeit und ist deutlich unübersichtlicher, als mit 
einem Revisionskontrollsystem.

> Wozu so einen zusätzlichen Ballast aufladen?

Was für einen Ballast? Das Aufsetzen von subversion oder git ist 
trivial, und man kann es sofort nutzen. Man muß sich halt angewöhnen, 
nach Änderungen zu commiten und dabei eine sinnvolle commit-Message zu 
schreiben, aber die kann nachher sehr hilfreich sein und kann auch 
automatisch als Changelog in den Sourcecode eingetragen werden.

> Oder geht es hier um größere Projekte die dann auf sourceforge.net
> landen?

Auch bei kleinen Projekten ist es sinnvoll, sowas zu nutzen, auch wenn 
es da vielleicht nicht ganz so essenziell ist, wie bei großen.
Wenn ich mir das Chaos anschaue, das manche produzieren, weil mit Kopien 
oder Archiven vom Projekt irgendwie versuchen, das nachzubilden, was 
einem subversion bietet, kann ich nur den Kopf schütteln.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.