strstr mit ohne case sensitive?



  • @sidewinder
    *rofl*

    naja ich meinte damit eher so kleine problemchen (0815alogs) wie dieses eben...das bekomm ich in 3 minuten schnell hingehackt...

    wenn ich allerdings drüber nachdenken muss wie ich die dummen variablen nenne brauch ich mindestens doppelt so lange und ausserdem mach ich dann ständig fehler...,(die dann viel debugzeit kosten)

    wenn ich dann mal was komplexeres schreiben muss wo mir nicht sofort die lösung einfällt ist das ja noch schlimmer wenn ich an den algo denken muss und mir auch noch gleichzeit sprechende variablennamen ausdenken muss( die dinger heissen bei mir fast alle help,temp ,a b c d usw...)

    vermutlich löst du auch wesentlich komplexere probleme als ich der das nur mal so zum spass macht...



  • Okay in diesem Fall können die Variablen heißen wie sie wollen, weil jeder weiß was damit gemeint ist. Ein Kommentar wie "// strstr() case insensitive" sagt jedem Programmierer sofort was Sache ist.

    Bei einem Lehrbeispiel wie hier wär aber ein Replace nicht schlecht.

    Aber wenn der Algorithmus komplex ist, gehts mir mit sprechenden Variablennamen viel leichter. Wenn ich dann mal mehr als 5 Variablen habe die alle bloß Einbuchstabig bin und ich in der 4. Schleifenebene plötzlich nicht mehr weiter weiß kann ich alles hinwerfen weil meine Variablen nichts aussagen.

    Wenn da die Variable aber statt p curpos heißt fällt mir wieder ein wo ich eigentlich gerade im String herumpfusche.

    Meine Meinung. Vielleicht tust du dir wirklich leichter mit deinen Kürzel, aber wenn der Code für andere auch zu lesen sein soll sind entweder sprechede Variablennamen oder viele Kommentare von Nöten.

    MfG SideWinder



  • Also ich kann mir nicht vorstellen, dass es mit nichtssagenden Variablennamen leichter sein sollte. Bei einfachen kurzen Algorythmen mag es ja noch funktionieren, dass man sich die Bedeutung der nichtssagenden Variablen merkt während der Implementierung. Aber versuch mal den Algorythmus am nächsten Tag oder noch schlimmer eine Woche später so einfach zu erweitern. Da wirst du dann wohl oder über den ganzen Algorythmus nochmal durchdenken müssen, um überhaupt rauszubekommen welche Variable für was zuständig ist. Bei sprechenden Namen weißt du normalerweise sofort für was die Variable steht. Und um so länger der Algorythmus wird, um so leichter tut man sich mit den sprechenden Variablennamen.

    Und wegen dem Überlegen. Ich glaube ich würde länger überlegen, welchen Buchstaben ich noch nicht als Variablennamen verwendet habe, als dass ich mir einen sprechenden Namen einfallen lasse. Meistens weiß man ja auch schon was man mit der Variable machen will, also bekommt sie auch einfach ein entsprechenden Namen.

    Es ist also nicht nur für andere besser, sondern auch für einen selber sprechende Variablennamen zu verwenden. Denkt mal drüber nach.



  • wenn mir der algo zu gross wird mach ich einfach eine neue funktion auf die aufgerufen wird...frei nach dem motto divide et impera... da komm ich erst gar nicht in die verlegenheit des von dir genannten problems



  • Algorythmus

    😮, nach neuer Rechtschreibung erlaubt?

    MfG SideWinder



  • SideWinder schrieb:

    Algorythmus

    😮, nach neuer Rechtschreibung erlaubt?

    MfG SideWinder

    Wie sagt man so schön: Das tangiert mich periphär :p
    Übrigens darf man die meisten Sachen nach alter und neuer Schreibweise schreiben.

    @Windalf
    Das Problem bleibt. In den Funktionen brauchst du die Variablen ja trotzdem. ⚠



  • wenn ich mich nochmal einschalten darf...
    *räusper* kirnigham/richi sagt: variablen für integer fangen bei i (reihe i,j,k) an oder werden mit i_(präfix) oda mit _i(suffix) deklariert, gleitkomma mit f und pointer mit p, spätere nomenklatur-richtlinien für code gestehen den programmierern deklarationen auch ohne _ ein(etwa: iThisIsAnInteger), in anlehnung an ein generelles verbot von _ und digits in namen(vars,funcs[eur2dollar]), ganz progressive pfeifen auf alles und nehmen was ihnen gerade einfällt, dabei sind aber einige leitsätze zu beachten: kein slang, keine namen von menschen, tieren oder brufsbezeichnungen, keine bezeichnung von dingen die grademal so rumstehen(redundanzgefahr, außer man hat viele dinge einfach so rumstehen).
    lösung für alle: <datentyp kurz><><was tut es?><><wem gehört es?><_><wo is es?>
    nicht wundern über: float_CalculateThePrizesInEur_funcDollar2Eur_CPrize 😮
    geht aber auch: fEur, oda einfach nur fE, oda sogar nur E, kommt drauf an wer dass dann wann entschlüssenln muss...
    wuuush!
    tom



  • darktom schrieb:

    *räusper* kirnigham/richi sagt:

    Wer ist das? 🤡

    variablen für integer fangen bei i (reihe i,j,k) an oder werden mit i_(präfix) oda mit _i(suffix) deklariert, gleitkomma mit f [blah]

    In meinem K&R-Exemplar schreiben sie lediglich, dass man sinnvolle Namen wählen soll. Woher stammt dein Zitat? Übrigens ist die ungarische Notation inzwischen eigentlich soweit ich weiß schon nicht mal mehr umstritten, sondern völlig vom Tisch.

    nicht wundern über: float_CalculateThePrizesInEur_funcDollar2Eur_CPrize 😮

    Aua. Das ist eine globale Variable, die ein Cobol-Programmierer eingeführt hat. Stimmts? :^)



  • Zumindest sagt die Variable mal einiges über ihre funktion aus *g*



  • @Bashar
    Ich bezweifle, dass solch eine Variable in COBOL zulässig wäre.
    Außerdem müsste man, wenn man von einem COBOL-Programmierer ausgeht, fragen: Was ist float?
    😉



  • OK, mit Cobol meinte ich gar nicht konkret die Sprache, sondern dieses Uralt-Programmierparadigma aus den 50ern oder 60ern, nach dem man massenweise globale Variablen anlegt, die dann von diversen Prozeduren bearbeitet werden. Da braucht man solche Namen dann wahrscheinlich, um nicht den Überblick zu verlieren. Alternativ telefonbuchartige Verzeichnisse 😉



  • ⚠ he bashar: eia/tia! schon mal gehört?
    und nochmal: das sind keine gesetze wo man wegen verstoß in knast geht, es sind richtlinien/leitsätze, sie sollen den programmierern den weg weisen, wollen helfen sich und sein programm verständlich, lithographisch wie optisch, zu halten.
    "jeder wie er will und kann, aber am besten so", ist die kernausage im k/r die sich als roter faden durchs ganze werk zieht und zu den ungarn, naja die ungarn, die nehmen alles ein bisschen zu ernst, gleich beleidigt wenn mal einer ihre vorschriften abändert, klaut, ignoriert, haben sich im ganz schön unbeliebt gemacht, aber eine gute idee bleibt eine gute idee und wer das nicht wahrhaben will/kann, endet an dieser klippe an der wir alle schon standen "sch..., was macht diese var noch gleich??? Argh, hät ich ihr nur einen ungarischen namen gegeben..."
    consider yourselfs educated!
    tom



  • darktom schrieb:

    ⚠ he bashar: eia/tia! schon mal gehört?

    Nope, sag an.

    und nochmal: das sind keine gesetze wo man wegen verstoß in knast geht, es sind richtlinien/leitsätze, sie sollen den programmierern den weg weisen, wollen helfen sich und sein programm verständlich, lithographisch wie optisch, zu halten.

    IMHO sind es Dogmen, die manche Programmierer befolgen, um ihrer Arbeit einen professionellen Anschein zu geben.

    und wer das nicht wahrhaben will/kann, endet an dieser klippe an der wir alle schon standen "sch..., was macht diese var noch gleich??? Argh, hät ich ihr nur einen ungarischen namen gegeben..."

    Ich stand schon oft davor, aber auf diese "Lösung" wär ich nie gekommen: Ungarische Namen sagen nie etwas darüber aus, was die Variable "macht". Sie sagen etwas über den Typ aus.



  • endet an dieser klippe an der wir alle schon standen "sch..., was macht diese var noch gleich??? Argh, hät ich ihr nur einen ungarischen namen gegeben..."

    Sry, aber das Problem hatte ich noch nie. Wenn ich einen Vector von Dokument-Pointer haben, nenne ich ihn in der Regel: docs oder doclist (auch wenn das '-list' etwas verwirrend sein könnte). vecptrDoc oder sowas .. ich kann einfach kein ungarisch .. mach ich nicht und bin auch ganz glücklich damit geworden. Meinen Kollegen hat es auch nicht gestört, also sehe ich keinen Grund ungarisch zu lernen.



  • Also, wenn ich den Datentyp meiner Variable nicht mehr weiß, dann scroll ich einfach ein Stück nach oben und seh es. Dafür muss ich nicht noch ein Kürzel in den Namen einbauen. Außerdem sagt das nichts drüber aus, was die Variable eigentlich macht (Problem bleibt), also müsste ich wieder den ganzen Quellcode durchgehen, um zu verstehen, was sie macht.

    Wichtig sind also nur sprechende Namen!



  • argh, ich hasse es wenn andere recht haben, aber *sigh* barash hat recht, ungarn ist es echt wurscht was die vars machen, so weit, so gut.
    außerdem wenn hier eh alle wissen wie man am besten seine vars benennt...

    trotzdem
    eia/tia: verrückte, bekiffte amis die auf so sachen kommen wie: die tür eines serverraumes muss nach außen aufgehen.(eia/tia 1739, glaub i)
    hauptverantwortlich für ihre standards ist die eia(electronic industries alliance) die einige andere, nicht so schlechte think-groups gschluckt haben (beim namen:cea,eca,geia,jedec,iistep und schließlich auch die tia[telecom industry alliance])
    kleiner ausschnitt der eia policy?
    "The Electronic Industries Alliance (EIA) is an alliance of six powerful electronic and high-tech associations committed to shared knowledge and shared influence. Each preserves its unique identity while uniting in common cause under EIA. Our mission is to promote the competitiveness and market development of the U.S. high-tech industry, through domestic and international policy efforts.
    EIA serves as an essential link to Congress and the Administration."

    tja, als sie dann wirklich langsam zu groß wurden, zuviel verschiedene standards, nicht nur im technology, auch im logistig und codebereich(anfang 90) ➡ folglich wurden europäische ableger von ami konzernen überflutet mit neuen standarts, vorschriften, leitsätzen... und dort befinden wir uns heute noch!
    selig sind die freien programmierer, die sich ihre varnamen noch selber überlegen dürfen! ich? ich muss jeden 'genehmigen' lassen vom 'senior system development engineer'. so schauts aus meine herren!
    schönes langes wochenende, und habts a bissl mitgfühl
    tom



  • Mitleid!



  • Ich hoffe du hast einen guten "senior system development engineer"


Anmelden zum Antworten