Je suis un étranger. Je suis américaine. Bonjour lol
Pour être précis, j'étais un Porto Rico et j'ai déménagé aux États-Unis à l'âge d'un an et j'ai grandi aux États-Unis tout le temps, mais c'est une autre histoire.
De nombreux Japonais ne sont pas sûrs de leur maîtrise de l'anglais. Malheureusement, j'entends souvent les gens dire «Je ne comprends pas l'anglais» et «Je ne parle pas du tout l'anglais». Cependant, j'ai rencontré des Japonais qui parlent anglais, et même si ce n'est pas parfait, je suis sûr que mon intention a été correctement exprimée. Être capable de transmettre vos pensées et de poursuivre votre travail, plutôt que de parler couramment. Je pense que c'est la chose la plus importante pour s'impliquer dans des programmes open source et des programmes en anglais (les étrangers sont également très utiles). Dans la culture japonaise, il est rare de se vanter que "je peux le faire!", Mais à travers cet article, je voudrais vous donner un peu de confiance dans la façon de nommer votre programmation, même si vous ne maîtrisez pas. Cela n'a pas à être parfait. Allons-y!
Résumé des mots anglais souvent utilisés dans la programmation [mis à jour de temps à autre] Informations de référence pour une dénomination de méthode réussie 7 choses que je veux que vous gardiez pour ne pas être un putain de code <- (Surtout "Les commentaires sont N'essayez pas de l'écrire proprement. Mettez vos pensées dedans !!! »)
J'écris Ruby normalement, mais j'aime vraiment RSpec.
example_spec.rb
it { is_expected.to eq(10) }
En fait, la première fois que je l'ai vu sur RSpec était le "devrait" obsolète, mais quand j'ai vu quelque chose comme ça, "Quoi!? Est-ce une fourmi ?? C'est comme lire une phrase en anglais normal!" J'en ai été impressionné. Mais quand j'y pense, quand j'ai commencé à étudier Ruby à partir de Java, et quand j'ai regardé Python, j'ai eu la même impression.
En fait, je pense que les langages et les cadres de programmation continueront d'évoluer. En d'autres termes, les futurs programmes et langages de programmation se composeront d'un morceau d'anglais, comme RSpec et shoulda_matchers. En regardant cette façon d'écrire, je pense: "Oh, c'est bien. C'est facile à lire!" Je pense que les autres étrangers doivent le penser aussi.
C'est le point ici! Mettez en œuvre après avoir réfléchi au texte anglais que vous souhaitez créer! </ strong>
Il semble naturel d'écrire le code en anglais autant que possible, mais il ne s'agit pas d'écrire souvent en anglais des mots </ strong>, mais d'écrire en anglais des phrases </ strong>. Bien sûr, il n'est pas nécessaire que ce soit une phrase solide en anglais. La facilité d'utilisation du code est de créer de courtes commandes en une seule bouchée. Écrivez le texte anglais que vous souhaitez créer, en commençant par une idée complète de ce que fait la classe, pas seulement de la méthode que vous souhaitez écrire. Sortez le papier et écrivez quelques phrases! Le point n'est pas des phrases compliquées et longues, mais des phrases simples et confortables! En particulier, je voudrais vous présenter l'un des styles d'écriture agréables dans l'article suivant.
Les classes sont généralement synonymes. Lors de la création d'un jeu, Player
, lors de la création d'un service, ʻUser`.
Les objets sont quelque chose en premier lieu, donc c'est facile à comprendre.
N'est-il pas souvent possible de nommer une méthode? Ceci est un exemple simple, mais jetez un œil au programme suivant.
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
Avec cette façon d'écrire,
player1.shuffle deck
C'est assez facile à lire.
Récemment, j'étais un peu inquiet quand j'ai vu le style d'écriture suivant.
def shuffle_deck deck
deck.cards.shuffle
end
C'est un nom que vous pouvez comprendre simplement en regardant le nom de la méthode, mais comme la méthode est généralement associée à l'argument, je pense que ce sera assez concis si vous faites une phrase en combinant l'argument avec le nom de la méthode. C'est exactement ce que font RSpec et shoulda_matchers.
point! La meilleure façon d'écrire " sujet + verbe + objet </ strong>" est w Sujet = classe Verbe = méthode Object = Argument
Mais je dois aller avec "sujet + verbe + objet"! Pas vraiment. Je veux juste clarifier ce qui fait quoi pour quoi.
Ce qui suit est un exemple légèrement plus avancé. J'ai récemment voulu écrire une méthode comme celle-ci. «Le joueur» a «score», et si vous gagnez le jeu, le score augmentera. Quand j'ai pensé au texte anglais, "Add 1 to score" m'est venu à l'esprit. Mais alors ça ressemble à ça ...
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
C'est impossible, non? J'ai pensé: "Mais c'est facile à lire !!! Oh, je veux écrire un nom de méthode comme celui-ci!" À ce moment-là, j'ai proposé la méthode suivante
player.rb
def score_increases_by(num)
@score += num
end
player1.score_increases_by(1)
Ce n'est pas sous la forme de «sujet + verbe + objet», mais ici «num» est l'objet de by, donc c'est clair ce que fait la classe pour quoi, et cela peut être lu comme une phrase en anglais.
"Le score du joueur 1 augmente de num" C'est facile à lire. Avec "player1 score" comme sujet et "num" comme argument. Traiter les classes, les méthodes et les arguments comme une seule phrase facilite la lecture de l'ordre des mots et du flux de la phrase, n'est-ce pas?
Bien sûr, vous pouvez écrire player1.score + = 1
, mais ww par exemple!
Pour donner un autre exemple ...
object.rb
player1.draw card
player1.send message
player1.forfeit match
etc
Veuillez essayer cette technique par tous les moyens.
Dans Ruby, la méthode "?" Est souvent utilisée pour vérifier vrai ou faux.
true_or_false.rb
class Player
attr_accessor :card, :score
def initialize
@card = "♥"
@score = 0
end
def has_heart?
#Renvoie la vérité
@card == "♥"
end
end
if player1.has_heart?
puts "You have a heart!"
end
est-ce. .. .. Je suis un peu inquiet personnellement. Parce que je ne dis pas "Si le joueur a du cœur?" En anglais. Cela ressemble à "Posez une phrase qui inclut Si ?? Si ... alors ... flux?" Alors là où il ne devrait pas y avoir de pause, il y a une pause. Ce serait mieux si je le remplaçais, mais cela me semble toujours étrange ...
true_or_false.rb
puts "You have a heart!" if player1.has_heart?
Pourquoi demandes-tu? C'est comme ww Mais je pense que c'est la "culture" de Ruby, donc je ne pense pas que cela puisse être changé si facilement. (J'adore Ruby! Je n'ai pas ça! Ww)
Je souhaiterai écrire
true_or_false.rb
def has_heart
@card == "♥"
end
if player1.has_heart then
puts "You have a heart!"
end
Avec ce genre de sentiment, je ne ressens aucune gêne dans la relation avec alors. Informations de référence pour nommer les méthodes avec succès "Méthodes qui renvoient des valeurs booléennes" je pense que c'est bien
Vous pourriez penser que cela ne fait pas beaucoup de différence, mais cela rend le code plus facile à lire. Pouvez-vous lire votre code rapidement? Y a-t-il une pause dans la phrase qui devrait être prononcée d'un seul coup?
Si vous sentez une rupture dans la «phrase» que vous voulez créer, pensez au nom de la méthode, à l'instruction if, à l'instruction while, etc. et refaites-la pour pouvoir la prononcer d'un seul coup.
Cela n'a rien à voir avec l'anglais, mais je suis curieux de temps en temps, alors je voulais écrire quelque chose. Au lieu de "Je veux que vous le lisiez ensemble", 7 choses que je veux que vous gardiez car cela ne devient pas un putain de code J'ai mis . Ce qui suit a été écrit dans l'article
Ne laissez pas un commentaire qui demande "pourquoi?" !!
Le nom de la méthode, le nom de la variable, etc. du code sont les mêmes. Récemment, j'ai vu le mot «pélmanisme» pour la première fois de ma vie. L'anglais est la première langue, mais je ne savais pas ce que cela signifiait. Quand j'entends l'histoire de la personne qui a introduit le mot, «pélmanisme» signifie «faiblesse nerveuse». Pour moi, la "faiblesse nerveuse" a toujours été appelée "Memory Game" www
Alors écrivez le nom de la méthode, etc. afin que vous et la personne qui lisez le code puissiez comprendre vos intentions. Concentrez-vous sur la lisibilité pour maintenir le code, pas un anglais cool et long. Le mieux est la simplicité.
Veillez simplement à l'omettre. Avez-vous déjà vu un code comme celui-ci?
abbreviations.rb
rlts = db.execute(sql)
rlts.each do |r|
r = r.to_i
end
Je voudrais dire: "Qu'est-ce que rlts en premier lieu? Je ne sais pas du tout quand il s'agit de r!" Si vous écrivez un tel code, même s'il est un peu long, veuillez écrire les mots anglais tels qu'ils sont afin que l'intention puisse être transmise
abbreviations.rb
results = db.execute(sql)
results.each do |result|
result = result.to_i
end
Eh bien, comme c'est court, je pense que c'est correct de changer la forme singulière "result" en "res", mais je pense qu'il est important de transmettre l'intention de toute façon. Par conséquent, essayez de ne pas omettre grossièrement les mots anglais. Si vous n'êtes pas sûr de vous, écrivez simplement les mots anglais.
Je pense que vous pouvez omettre les omissions fréquemment utilisées et dans le cas de variables composées de plusieurs mots.
Vous pouvez voir que la db
ci-dessus est une base de données
. L'abréviation est beaucoup utilisée, donc ça va.
Si ce n'est pas familier,
ppap.rb
# pen pineapple apple pen
ppap = Picotaro.new
#Il est sorti ww est-il familier w
Je pense que vous devriez l'écrire avec un commentaire.
Je pense que les éléments les plus importants sont les deux suivants
Il peut être difficile pour moi de penser "je peux le faire!", Mais beaucoup de japonais écrivent du code assez bon! Écrivons du code facile à étendre en partageant des mots faciles à comprendre avec tout le monde!
Do your best! And please enjoy programming in English (^_^)
Recommended Posts