[PYTHON] Ausländer sprechen: Wie man Klassen und Methoden auf Englisch benennt

Ich bin ein Ausländer. Ich bin Amerikaner. Hallo lol

Um genau zu sein, ich war ein Puerto Rico und bin im Alter von einem Jahr in die USA gezogen und die ganze Zeit in den USA aufgewachsen, aber das ist eine andere Geschichte.

Zweck dieses Artikels

Viele Japaner sind sich ihrer Englischkenntnisse nicht sicher. Leider höre ich oft Leute sagen "Ich verstehe kein Englisch" und "Ich kann überhaupt kein Englisch". Ich habe jedoch einige Japaner getroffen, die Englisch sprechen können, und auch wenn es nicht perfekt ist, bin ich sicher, dass meine Absicht richtig vermittelt wurde. In der Lage sein, Ihre Gedanken zu vermitteln und mit Ihrer Arbeit fortzufahren, anstatt fließend sprechen zu können. Ich denke, das ist das Wichtigste, um sich an Open Source-Programmen und Englischprogrammen zu beteiligen (Ausländer sind auch sehr hilfreich). In der japanischen Kultur ist es selten, dass ich mich damit rühme: "Ich kann es schaffen!". Mit diesem Artikel möchte ich Ihnen jedoch ein wenig Vertrauen in die Benennung Ihrer Programmierung geben, auch wenn Sie nicht fließend sind. Es muss nicht perfekt sein. Lass uns gehen!

Ich möchte, dass du es zusammen liest

Zusammenfassung der englischen Wörter, die häufig in der Programmierung verwendet werden [von Zeit zu Zeit aktualisiert] Referenzinformationen für eine erfolgreiche Methodenbenennung 7 Dinge, die Sie behalten sollen, um kein verdammter Code zu sein <- (Besonders "Kommentare sind Versuche nicht, es ordentlich zu schreiben. Gib deine Gedanken hinein !!! ")

Überblick

  1. Wie man wie Englisch schreibt
  2. Behandeln Sie Klassen, Methoden und Argumente als einen Satz, einschließlich der Argumente so weit wie möglich.
  3. Pausen beseitigen
  4. Länge der Variablen usw. ・ Fallstricke beim Auslassen

1. Wie man wie Englisch schreibt

Ich schreibe Ruby normalerweise, aber ich mag RSpec wirklich.

example_spec.rb


it { is_expected.to eq(10) }

Eigentlich war das erste Mal, dass ich es auf RSpec sah, das veraltete "sollte", aber als ich so etwas sah, "Was !? Ist das eine Ameise? Es ist wie das Lesen eines normalen englischen Satzes!" Ich war beeindruckt davon. Aber wenn ich darüber nachdenke, als ich anfing, Ruby von Java aus zu studieren, und als ich Python betrachtete, bekam ich den gleichen Eindruck.

Tatsächlich denke ich, dass sich Programmiersprachen und Frameworks weiterentwickeln werden. Mit anderen Worten, zukünftige Programme und Programmiersprachen werden aus einem Bissen Englisch bestehen, wie RSpec und shoulda_matchers. Wenn ich mir diese Art des Schreibens anschaue, denke ich: "Oh, das ist gut. Es ist leicht zu lesen!" Ich denke, andere Ausländer müssen das auch denken.

Darum geht es hier! Implementieren Sie, nachdem Sie über den englischen Text nachgedacht haben, den Sie erstellen möchten! </ strong>

Es scheint natürlich, den Code so oft wie möglich auf Englisch zu schreiben, aber es geht nicht darum, oft in englischen Wörtern </ strong> zu schreiben, sondern in englischen Sätzen </ strong>. Natürlich muss es kein fester englischer Satz sein. Die einfache Verwendung des Codes besteht darin, kurze Befehle in einem Biss zu erstellen. Schreiben Sie den englischen Text, den Sie erstellen möchten, und beginnen Sie dabei mit einer vollständigen Vorstellung davon, was die Klasse tut, und nicht nur mit der Methode, die Sie schreiben möchten. Nehmen Sie das Papier heraus und schreiben Sie ein paar Sätze! Es geht nicht um komplizierte und lange Sätze, sondern um einfache und bequeme Sätze! Insbesondere möchte ich im nächsten Punkt einen der angenehmen Schreibstile vorstellen.

2. Behandeln Sie Klassen, Methoden und Argumente als einen Satz, einschließlich der Argumente so weit wie möglich.

Klassen sind in der Regel synonym. "Spieler" beim Erstellen eines Spiels, "Benutzer" beim Erstellen eines Dienstes. Objekte sind in erster Linie etwas, daher ist dies leicht zu verstehen.

Ist es nicht oft möglich, eine Methode zu benennen? Dies ist ein einfaches Beispiel, aber sehen Sie sich das folgende Programm an.

game.rb


Type = ["♥", "♦", "♣︎", "♠︎"]

class Deck

  attr_accessor :cards

  def initialize
    @cards = []
    4.times do |n|
      1.upto(10) do |i|
        @cards.push([Type[n], i])
      end
    end
  end
end

class Player
  def initialize(name)
    @name = name
  end

  def shuffle deck
    deck.cards.shuffle
  end
end

Mit dieser Schreibweise

player1.shuffle deck

Es ist ziemlich leicht zu lesen.

Vor kurzem war ich ein wenig besorgt, als ich den folgenden Schreibstil sah.

def shuffle_deck deck
  deck.cards.shuffle
end

Es ist ein Name, den Sie verstehen können, wenn Sie sich nur den Methodennamen ansehen. Da die Methode jedoch normalerweise mit dem Argument gepaart ist, ist es meiner Meinung nach ziemlich präzise, wenn Sie einen Satz bilden, indem Sie das Argument mit dem Methodennamen kombinieren. RSpec und shoulda_matchers machen genau das.

Punkt! Der beste Weg, um " Subjekt + Verb + Objekt </ strong>" zu schreiben, ist w Betreff = Klasse Verb = Methode Objekt = Argument

Aber ich muss mit "Subjekt + Verb + Objekt" gehen! Nicht wirklich. Ich möchte nur klarstellen, was was für was macht.

Das Folgende ist ein etwas fortgeschritteneres Beispiel. Ich wollte kürzlich eine solche Methode schreiben. "Spieler" hat "Punktzahl", und wenn Sie das Spiel gewinnen, erhöht sich die Punktzahl. Als ich über den englischen Text nachdachte, kam mir "Add 1 to score" in den Sinn. Aber dann sieht es so aus ...

player.rb


class Player
  def initialize
    @score = 0
  end

  def add(num)to_score
    @score += num
  end
end

player1 = Player.new
player1.add(1)to_score

Das ist unmöglich, nicht wahr? Ich dachte: "Aber es ist leicht zu lesen !!! Oh, ich möchte einen Methodennamen wie diesen schreiben!" Zu dieser Zeit habe ich mir die folgende Methode ausgedacht

player.rb


def score_increases_by(num)
  @score += num
end

player1.score_increases_by(1)

Es ist nicht in Form von "Subjekt + Verb + Objekt", aber hier ist "num" das Objekt von by, also ist klar, was die Klasse für was tut und es kann wie ein englischer Satz gelesen werden.

"Die Punktzahl von Spieler 1 steigt um num" Es ist leicht zu lesen. Mit "player1 score" als Betreff und "num" als Argument. Wenn Sie Klassen, Methoden und Argumente als einen Satz behandeln, können Sie die Wortreihenfolge und den Fluss des Satzes leicht lesen, nicht wahr?

Natürlich können Sie player1.score + = 1 schreiben, aber ww zum Beispiel!

Um ein anderes Beispiel zu geben ...

object.rb


player1.draw card
player1.send message
player1.forfeit match

etc

Bitte versuchen Sie diese Technik auf jeden Fall.

3. Pausen beseitigen

In Ruby wird häufig die "?" - Methode verwendet, um true oder false zu überprüfen.

true_or_false.rb


class Player

  attr_accessor :card, :score

  def initialize
    @card = "♥"
    @score = 0
  end

  def has_heart?
    #Gib die Wahrheit zurück
    @card == "♥"
  end
end

if player1.has_heart?
  puts "You have a heart!"
end

ist das. .. .. Ich persönlich bin ein wenig besorgt. Weil ich nicht "Wenn der Spieler Herz hat?" Auf Englisch sage. Es fühlt sich an wie "Fragen Sie einen Satz, der If ?? If ... then ... flow enthält?" Wo also keine Pause sein sollte, gibt es eine Pause. Es wäre besser, wenn ich es ersetzen würde, aber es fühlt sich immer noch seltsam an ...

true_or_false.rb


puts "You have a heart!" if player1.has_heart?

Warum fragst du? Es fühlt sich an wie ww Aber ich denke, es ist die "Kultur" von Ruby, also denke ich nicht, dass es so einfach geändert werden kann. (Ich liebe Ruby! Ich habe das nicht! Ww)

ich würde schreiben

true_or_false.rb


def has_heart
  @card == "♥"
end

if player1.has_heart then
  puts "You have a heart!"
end

Mit dieser Art von Gefühl fühle ich mich in der Beziehung zu damals nicht unwohl. Referenzinformationen für die erfolgreiche Benennung von Methoden "Methoden, die boolesche Werte zurückgeben" Ich denke es ist gut

Sie denken vielleicht, dass es keinen großen Unterschied macht, aber es erleichtert das Lesen des Codes. Können Sie Ihren Code schnell lesen? Gibt es eine Unterbrechung des Satzes, die auf einen Schlag gesagt werden sollte?

Wenn Sie einen Bruch in dem "Satz" spüren, den Sie erstellen möchten, denken Sie über den Methodennamen, die if-Anweisung, die while-Anweisung usw. nach und erstellen Sie ihn neu, damit Sie ihn auf einmal sagen können.

4. Länge der Variablen usw. ・ Fallstricke beim Auslassen

Das hat nichts mit Englisch zu tun, aber ich bin ab und zu neugierig, also wollte ich etwas schreiben. 7 Dinge, die Sie behalten sollen, um nicht zu einem verdammten Code zu werden Ich habe eingegeben. Das Folgende wurde in dem Artikel geschrieben

Hinterlasse keinen Kommentar mit der Frage "Warum?" !!

Der Methodenname, der Variablenname usw. des Codes sind identisch. Kürzlich habe ich zum ersten Mal in meinem Leben das Wort "Pelmanismus" gesehen. Englisch ist die erste Sprache, aber ich wusste nicht, was es bedeutet. Wenn ich die Geschichte der Person höre, die das Wort eingeführt hat, bedeutet "Pelmanismus" "nervöse Schwäche". Für mich wurde "nervöse Schwäche" immer "Memory Game" genannt www

Schreiben Sie also den Methodennamen usw., damit Sie und die Person, die den Code liest, Ihre Absichten verstehen können. Konzentrieren Sie sich auf die Lesbarkeit, um den Code am Laufen zu halten, nicht auf cooles und langes Englisch. Einfach ist das Beste.

Achten Sie nur darauf, es wegzulassen. Haben Sie jemals einen solchen Code gesehen?

abbreviations.rb


rlts = db.execute(sql)
rlts.each do |r|
   r = r.to_i
end

Ich möchte sagen: "Was ist rlts überhaupt? Ich weiß überhaupt nicht, wenn es um r geht!" Wenn Sie einen solchen Code schreiben, auch wenn er etwas lang ist, schreiben Sie bitte die englischen Wörter so, wie sie sind, damit die Absicht vermittelt werden kann

abbreviations.rb


results = db.execute(sql)
results.each do |result|
   result = result.to_i
end

Nun, da es kurz ist, denke ich, dass es in Ordnung ist, die Singularform "Ergebnis" in "Res" zu ändern, aber ich denke, es ist wichtig, die Absicht trotzdem zu vermitteln. Versuchen Sie daher, englische Wörter nicht grob wegzulassen. Wenn Sie nicht sicher sind, schreiben Sie einfach die englischen Wörter.

Ich denke, Sie können häufig verwendete Auslassungen und bei Variablen, die aus mehreren Wörtern bestehen, weglassen. Sie können sehen, dass die "Datenbank" oben eine "Datenbank" ist. Die Abkürzung wird häufig verwendet, daher ist es in Ordnung. Wenn es unbekannt ist,

ppap.rb


# pen pineapple apple pen
ppap = Picotaro.new

#Es kam heraus ww Ist es vertraut w

Ich denke, Sie sollten es mit einem Kommentar schreiben.

Zurückblicken

Ich denke, die wichtigsten Punkte sind die folgenden zwei

  1. Ich möchte die Welle der Realität reiten, in der sich die Art und Weise, wie Programmieren geschrieben wird, immer mehr wie Englisch ändert
  2. Einfache und leicht verständliche Dinge führen zu Arbeitseffizienz, nicht zu fließendem Englisch oder Methoden / Variablen, die in ein englisches Wort passen.

Es mag schwierig für mich sein zu denken "Ich kann es schaffen!", Aber viele Japaner schreiben ziemlich guten Code! Schreiben wir einfach zu erweiternden Code, indem wir leicht verständliche Wörter mit allen teilen!

Do your best! And please enjoy programming in English (^_^)

Recommended Posts