Frage

Nur frage mich, warum Leute wie Groß- und Kleinschreibung in einer Programmiersprache? Ich versuche nicht, eine Flamme Krieg nur neugierig, das ist alles zu starten.
Persönlich habe ich nie mochte es wirklich, weil ich meine Produktivität finde nach unten geht, wann immer ich versucht habe, eine Sprache, die Groß- und Kleinschreibung hat wohlgemerkt ich langsam bin aufwärmen / es jetzt gewöhnen, dass ich C # und F # viel mehr bin mit dann Früher habe ich.

Warum gefällt es dir?

Prost

War es hilfreich?

Lösung

Konsistenz. Code ist schwieriger, wenn "foo", "Foo", "Foo" und "foo" zu lesen sind als identisch sein.

Einige Leute würden ALLES IN GROSSBUCHSTABEN SCHREIBEN, was alles weniger gut lesbar.

Case Empfindlichkeit macht es leicht, die „same name“ auf unterschiedliche Weise zu verwenden, nach einer Kapitalisierung Konvention, z. B.

Foo foo = ...  // "Foo" is a type, "foo" is a variable with that type

Andere Tipps

Ein Vorteil von VB.NET ist, dass, obwohl es nicht abhängig ist, automatisch die IDE neu Formate alles des „offiziellen“ Fall für eine Kennung Sie verwenden - so ist es einfach konsequent, einfach zu lesen.

Der Nachteil ist, dass ich VB-Stil Syntax hasse, und viel lieber C-Stil Operatoren, Zeichensetzung und Syntax.

In C # Ich finde ich bin schlagen immer Ctrl-Raum mit speichern den richtigen Typ verwenden.

Nur weil Sie Dinge zu nennen, die nur von Fall unterscheiden, bedeutet nicht, es ist eine gute Idee, weil es zu Missverständnissen führen kann, wenn eine Menge, die auf größere Bereiche austritt, so empfehle ich Lenkung bei der Anwendung deutlich oder Subsystem-Ebene, sondern nur intern auf eine Funktion oder Methode oder Klasse zu ermöglichen.

Case Empfindlichkeit erzwingt nicht Arten oder Konsistenz Codierung. Wenn Sie pascal Fall eine Konstante ist, beschweren sich der Compiler nicht. Es wird Sie zwingen, nur um es zu geben pascal Fall mit jedem Mal, wenn Sie es verwenden. Ich persönlich finde es irritierend zwischen zwei Elementen zu haben, um zu versuchen und zu unterscheiden, die nur im Fall unterscheiden. Es ist leicht, in einem kurzen Block von Code zu tun, aber sehr schwer zu halten gerade in einem sehr großen Code-Block. Beachten Sie auch, dass die einzige Möglichkeit, Menschen können tatsächlich Groß- und Kleinschreibung verwenden, ohne Nüsse gehen, wenn sie alle starr die gleichen Namenskonventionen folgen. Es ist die Namenskonvention, die den Wert, nicht auf die Groß- und Kleinschreibung hinzugefügt.

Ich halte einen internen Compiler für mein Unternehmen, und versucht bin, um es ein Hybrid zu machen - Sie können verwenden, was Fall, dass Sie für eine Kennung wollen, und Sie müssen es mit dem gleichen Gehäuse beziehen, sondern etwas anderes mit der Benennung gleichen Namen und anderer Fall tritt ein Fehler auf.

Dim abc = 1
Dim y = Abc - 1 ' error, case doesn't match "abc"
Dim ABC = False ' error, can't redeclare variable "abc"

Es ist zur Zeit Groß- und Kleinschreibung, so konnte ich wohl die wenigen vorhandenen Fehler beheben und niemand würde sich beschweren zu viel ...

Viele Menschen, die gerne Fall- Empfindlichkeit falsch verstehen, was Fall- in Empfindlichkeit bedeutet.

VB .NET ist Groß- und Kleinschreibung. Das bedeutet nicht, dass Sie eine Variable deklarieren können als abc, dann später darauf beziehen, wie ABC, Abc, und aBc. Es bedeutet, dass, wenn Sie es als eine dieser anderen eingeben, wird die IDE es automatisch in die richtige Form ändern.

Case-Unempfindlichkeit bedeutet, dass Sie geben

dim a as string

und VS wird es automatisch auf die Änderung korrekt Gefasste

Dim a As String

In der Praxis bedeutet dies, Sie so gut wie nie die Shift-Taste drücken müssen, weil Sie alle Klein eingeben können und lassen Sie die IDE richtige für Sie.

Aber C # ist nicht so schlecht über das, wie es früher war. Intellisense in C # ist viel aggressiver als in VS 2002 und 2003 war, so dass die Tastenanschlagszahl ziemlich viel fällt.

Ich glaube, es Konsistenz erzwingt, die die Lesbarkeit des Codes verbessert und lässt Ihre Augen die Stücke besser analysieren aus.

class Doohickey {

  public void doSomethingWith(string things) {
     print(things);
  }
}

Gehäuse Konventionen macht diesen Code erscheinen zu jedem Programmierer sehr standardisiert. Sie können ganz einfach Klassen, Typen, Methoden auswählen. Es wäre sehr viel schwieriger zu tun, wenn jemand sie in irgendeiner Weise profitieren könnte:

Class DOOHICKEY {
  Public Void dosomethingwith(string Things) {
    Print(things);
  }
} 

Um nicht zu sagen, dass die Menschen hässlich Code schreiben würden, aber viel in die Art und Weise Großschreibung und Zeichensetzung Regeln erleichtern das Schreiben zu lesen, Groß- und Kleinschreibung oder Gehäuse Standards Code machen leichter zu lesen.

Ich glaube, es ist wichtig, dass Sie den Unterschied zwischen verstehen, was Groß- und Kleinschreibung ist und welche Lesbarkeit ist diese richtig zu beantworten. Während unterschiedliche Gehäuse Strategien mit nützlich ist, können Sie sie in einer Sprache, die nicht Groß- und Kleinschreibung.

Zum Beispiel foo kann für eine variable und FOO als Konstante in Java und VB verwendet werden. Es ist die kleine Unterschied, dass VB ermöglicht es Ihnen, Foo später zu geben, aber das ist vor allem eine Frage der Lesbarkeit und hoffentlich durch irgendeine Form von Code-Vervollständigung festgelegt ist.

Was kann sehr nützlich sein, wenn Sie Instanzen Ihrer Objekte haben wollen. Wenn Sie eine einheitliche Namenskonvention verwenden, kann es sehr einfach geworden, um zu sehen, wo Ihre Objekte stammen aus.

Zum Beispiel: FooBar fooBar = new FooBar ();

Wenn nur ein Objekt eines Typs benötigt wird, um die Lesbarkeit deutlich erhöht, da es sofort offensichtlich ist, was das Objekt ist. Wenn mehrere Instanzen benötigt werden, werden Sie natürlich neue (hoffentlich sinnvolle Namen) wählen müssen, aber in kleinen Codeabschnitten macht es sehr vielen Sinn, mit einem Kleinen ersten Zeichen den Klassennamen zu verwenden, anstatt einem System wie myFooBar, x, oder ein anderer willkürlicher Wert, dass Sie vergessen, was es tut.

Natürlich ist das alles eine Frage der Kontext jedoch in diesem Zusammenhang I 9 mal von 10 würde sagen, es zahlt sich aus.

Es gibt eine Menge Antworten hier, aber ich bin überrascht, niemand das offensichtlichste Beispiel darauf hingewiesen, dass auch Spaß eines Stackoverflow Konkurrenten macht:

expertSexChange != expertsExchange

Case ist sehr wichtig, wenn Sie Kamel Fall Variablennamen verwenden.

Es gibt Ihnen mehr Möglichkeiten.

Bell Glocke BEll

sind alle verschieden.

Außerdem treibt es die Neulinge, die Nüsse nur gemietet versuchen herauszufinden, warum die Summen kommen nicht aus rechts; o)))

Weil jetzt tatsächlich haben Sie alles in einer konsistenten Art und Weise zu geben. Und dann wird es plötzlich beginnen Sinn zu machen.

Wenn Sie einen anständigen Editor haben - eine, die IntelliSense oder dasselbe mit einem anderen Namen gehört -. Sie sollten keine Probleme haben, case-sensitive namees herauszufinden

Case Empfindlichkeit ist Wahnsinn! Was für verrückt Coder würde Variablen namens foo, foo, foo und FOO im gleichen Umfang alle? Du wirst mir nie überzeugen, dass es ein Grund für Groß- und Kleinschreibung ist!

Ich denke, es ist auch eine Frage der Psychologie hier beteiligt. Wir sind Programmierer, unterscheiden wir minutiös zwischen den Dingen. ‚A‘ ist nicht der gleiche ASCII-Wert als ‚A‘, und ich würde seltsam fühlen, wenn mein Compiler ihnen die gleiche Auffassung. Aus diesem Grund, wenn ich schreibe

(Liste 'a' b ‚c)

in LISP (in der REPL), und es antwortet mit

(A B C)

mein Geist sofort ruft aus ‚Das ist nicht das, was ich gesagt habe!‘. Wenn die Dinge nicht gleich sind, sie sind unterschiedlich und müssen so betrachtet werden ...

ich in der Regel einige Zeit mit Delphi-Programmierung im Urlaub verbringen, und die meisten der anderen Zeit verwende ich nur C ++ und MASM. Und eines ist seltsam: Wenn ich auf Delphi bin, ich weiß nicht wie Groß- und Kleinschreibung, aber wenn ich auf C ++ bin - ich tue. Ich mag Groß- und Kleinschreibung, becouse es ähnliche Wörter macht (Funktionen, Variablen) sehen ähnlich aus, und Ich mag Empfindlichkeit nicht-Fall, weil es keine übermäßigen Beschränkungen syntaxis gesetzt hat.

Aus .NET Framework-Entwicklerhandbuch Kapitalisierung Konventionen , Case-Empfindlichkeit:

  

Die Kapitalisierung Richtlinien existieren   ausschließlich auf Identifikatoren einfacher zu machen,   lesen und erkennen. Das Gehäuse muss nicht sein   als Mittel verwendet, Namen zu vermeiden   Kollisionen zwischen Bibliothekselementen.

     

Gehen Sie nicht davon, dass alle Programmier   Sprachen sind case-sensitive. Sie sind   nicht. Die Namen können nicht von Fall unterscheiden   allein.

Es ist nützlich für die zwischen Arten in Code zu unterscheiden.

Zum Beispiel in Java: Wenn es beginnt mit einem Großbuchstaben, dann ist es wahrscheinlich eine Klasse. Wenn es ALL_CAPS seine wahrscheinlich eine Konstante ist.

Es gibt mehr Vielseitigkeit.

Man fühlt sich wie ein professioneller Art und Weise der Codierung. Sollte nicht den Compiler muß, um herauszufinden, was Sie meinen.

spürte ich die gleiche Art und Weise, wie Sie vor langer Zeit, als ich verwenden VB3 / 4 vieles mehr. Jetzt arbeite ich in erster Linie C #. Aber jetzt finde ich die IDE machen einen großartigen Job, die Symbole zu finden, und die gute Intellisense auf die verschiedenen Fälle. Es gibt mir auch mehr Flexibilität in meinem eigenen Code als ich differnt Bedeutung Einzelteile mit verschiedenen Fällen haben kann, was ich jetzt viel zu tun.

Auch eine gute Gewohnheit, wenn Ihre Arbeit in Linux, wo Referenzierung Dateinamen Groß- und Kleinschreibung. Ich hatte eine Windows-Anwendung von Coldfusion auf Port in Linux zu arbeiten, und es war ein völliger Alptraum. Auch einige Datenbanken Groß- und Kleinschreibung aktiviert ist, stellen Sie sich die Freude da.

Es ist gute Gewohnheit obwohl unabhängig von der Plattform und sicherlich zu einem konsequenten Entwicklung Stil führt.

IMHO ist es durchaus eine Frage der Gewohnheit. Je nachdem, welche sind Sie verwendet wird natürlich und richtig erscheinen.

Sie können mit vielen Begründungen kommen, warum es gut oder schlecht ist, aber keiner von ihnen halten viel Wasser. Zum Beispiel:

  • Sie erhalten mehr möglich Identifikatoren, zB. foo vs Foo vs FOO.
  • Aber Identifikatoren, die nur im Fall unterscheiden, ist keine gute Idee
  • Sie können Typ-Informationen in einen Namen (zB. FooBar = Typname, fooBar = Funktion, foo_bar = Variable, FOO_BAR = Makro)
  • kodieren
  • Sie können aber tun das sowieso mit ungarischer Notation

Weil es, wie natürliche Sprache funktioniert auch.

In Programmen gibt es etwas für Groß- und Kleinschreibung zu sagen, zum Beispiel einer öffentliche Eigenschaft Foo und ein entsprechender privat / geschützter Bereich foo mit. Mit IntelliSense ist es nicht sehr schwer, keine Fehler zu machen.

Jedoch in einem O, Groß- und Kleinschreibung ist einfach verrückt. Ich möchte wirklich nicht, eine Datei Foo haben und foo und foo im selben Verzeichnis. Das treibt mir Cray jedes Mal wenn ich mache * nichts Sachen.

Für mich Groß- und Kleinschreibung ist nur ein Spiel auf Bereiche wie thisvalue für ein Argument und thisvalue für eine öffentliche Eigenschaft oder Funktion.

Mehr als oft Sie die gleichen Variablennamen verwenden müssen in verschiedenen Bereichen (wie es das Gleiche darstellt) und Groß- und Kleinschreibung hilft Ihnen, diese zu Präfixe ohne Rückgriff zu tun.

Puh, zumindest sind wir nicht mehr ungarische Notation.

Nach vielen Jahren mit Legacy-VBScript ASP-Code arbeiten, wenn wir auf .NET zogen wir C # gewählt haben, und einer der Hauptgründe war Groß- und Kleinschreibung. Der alte Code nicht lesbar, weil die Menschen keine Konvention folgen haben: Code war ein unleserlich mess (gut, schlecht VBScript IDEs auf das half)

.

In C # können wir Namenskonventionen definieren und jeder muss ihnen folgen. Wenn etwas nicht richtig verrohrt, können Sie es umbenennen (mit Refactoring, aber das ist eine IDE-Funktion), und es wird kein Problem sein, da die Klasse oder Variable wird auf die gleiche Weise alle über den Code genannt werden.

Schließlich denke ich viel besser lesbar ist, wenn alles richtig verrohrt ist. Vielleicht schneller ist ohne Groß- und Kleinschreibung zu schreiben, aber von einer Code-Überprüfung und Punkt Aufrechterhaltung ist nicht die beste Sache, weil durch den Code Überspringen der Suche nach etwas einfacher ist. Zum Beispiel ist einfacher, um alle ‚foo‘ Strings auf einem Blick als die Suche nach ‚foo‘, ‚Foo‘, ‚foo‘, ‚foo‘ ...

zu finden

Case-insensitive Sprachen generalisieren nicht leicht zu Nicht-ASCII-Zeichensätze. Proper Fall Umwandlung für eine andere Sprache als Englisch ist keine einfache Aufgabe, und ist abhängig von Systemgebietsschema, unter anderem.

Case Unempfindlichkeit ist sehr schwierig, wenn Sie die Syntax ascii (oder nur den Fall Unempfindlichkeit gegenüber den ASCII-Zeichen gelten) beschränken, und auch müssen Sie das Gebietsschema beschränken.

Die Regeln für die Groß- und Kleinschreibung von Zeichen zu bestimmen sind weder gut definiert, noch ist es verlustlos.

können Einige Zeichen haben mehr als eine ‚kleine‘ Form. Einige Leute werden nicht darüber einig, was die richtige Groß- Form sein sollte.

(Einige Sprachen und Umgebungen für fast Charakter erlauben in Namen verwendet werden soll)

In C #, was der Unterschied ist zwischen ToUpper () und ToUpperInvariant ()?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top