重複の可能性:
英語を話さない国の人々は英語でコーディングしますか?
ラテンアメリカ(スペイン語話者)で販売することを目的とした開発が進んでいますが、一部のパートナーから、常に英語でコーディングすることをお勧めします。コード(メソッド、クラス、ページ名、など)、GUIのラベルはすべてスペイン語になります...
コードはラテンアメリカ中の企業の開発者によって、そしておそらく外部からのコードによって編集されるでしょう。
どう思いますか、これで何か経験はありますか?
私はフランス人で、フランスの会社で働いています。
ただし、コードは主に英語で作成されます。理由は次のとおりです。
私たちは時々私たちと一緒に働く非フランス人を持っているので、彼らのためにそれはより簡単です。
サードパーティ(lib、フレームワークなど)からのコードがいくつかあり、このコードは多くの場合英語で書かれているため、フランス語と英語のコードのパッチワークになりたくありません。
いいプログラマーになりたいのならとにかく英語を理解しなければならないので、一般的に言えば、これは問題ではありません。
ほとんどのプログラミング言語では、キーワードは英語です。そのため、言語を混在させると、一般的に少し強制的に見えます。
このため、開発者の数だけでなく、英語はほとんどの開発で使用される言語である傾向があり、英語を話さない国に拠点を置く企業による開発もそうです。
一般に、他の回答で述べたように、プログラミング言語は英語のキーワードを使用します。プロジェクトが大きくなると、外国人がコードに取り組んでしまう可能性があります。さらに、「ゲッター」や「セッター」などの概念、またはJavaなどの言語のインスタンスは、一般にgetFoo
またはsetFoo
と呼ばれ、この規則を守ることは理にかなっています。
一方、特定のターゲット市場向けのアプリケーションを作成する場合があります。たとえば、私はドイツの金融および法的言語を使用して残高分析ソフトウェアを開発している大手銀行で働いていました。結局、英語の用語の意味が少し異なる場合があるため、正確な用語を維持するためにドイツの識別子を使用することにしました。反対に、他の場所では英語を使用するという慣習を守ったため、getUmlaufvermoegen()
の代わりにgetCurrentAssets()
のような関数がありました。計算を定義した銀行の専門家と一緒に簡単に計算を進めることができましたが、使用したフレームワークなどと一貫性がありました。
私はコロンビアに住んでおり、普遍性のために英語でコードを書くように教えられています。優れたプログラマーのほとんどは、必要であり、ほとんどすべての優れたドキュメントとリファレンスが英語で書かれているため、とにかく2言語を知っています。
だから私はあなたのコードを英語で書くのは安全だと思います、彼らが理解する可能性が非常に高く、それは良い習慣です。
これは難しい問題です。すべての変数名が英語である場合の問題は、顧客のドメインを母国語から英語に翻訳する必要があることです。そして、名前を付けることはプログラミングにおけるより難しい問題の1つであるため、それは時々本当に難しいです。 DDDを実践しようとしている場合、ユビキタスドメイン言語を作成することはほぼ不可能です。すべてのコンセプトには常に2つのバージョンがあり、翻訳では意味が失われます。
しかし、その一方で、コードベースに(英語以外の)別の言語を混在させると、その言語は常に乱雑に見え、その言語を話すことができないすべての人にとって読めなくなります。
私はスウェーデンに住む英語を母国語とする私は、一部の意味を失うことなく翻訳することができない奇妙な単語を除いて、すべてを英語に翻訳することに傾倒しています。
最近コーディング標準について議論していましたが、興味深い点が浮上しました。私たちは英国で英語を話す人であり、米国英語でのコードに誘導されています。私たちがプライドを飲み込むのは難しいので、これが正しいことであることを受け入れる必要があります。キーワードに違いはありませんが、.NETフレームワークの多くは米国英語で記述されており、国の誇りを第一に考えるよりも、一貫性を保つ方が良いと思います:).
それはまたあなたの英語を助けるかもしれません(それに何か問題があるというわけではありません!)。大きな問題は、新興経済が台頭している今、英語の話者がいつブラジルのポルトガル語、ロシア語、ヒンディー語、または標準中国語でコードを学ぶ必要があるかということです:)
私はイタリアに住んでいます。ここでは、通常、英語とイタリア語またはイタリア語のサフィックスが付いた英語が混在しています。
bool checkFatto;
(「確認済み」)
私は、コメントを含むすべてのコード、そして開発者との直接のやり取りを含むすべてのコードが英語である必要があると強く信じています。イタリア語には、プログラミングのトピックを説明するのに必要な単語の多くがありません。しかし、これは事実上決して行われません。多分それが私がアメリカの会社のために在宅勤務をすることを選んだ理由です。
イタリア語でグーグルプログラミングの質問をしたり、イタリア語のウィキペディアを調べたりする人たちも、同じくらい私を悩ませています。彼らは、欠けている情報の量(SO全体など)を知りません。
英語:
GetUserInvoices(int userId);
スペイン語:
ObtenerFacturasDelUsuario(int idDeUsuario);
英語の単語は通常短くて読みやすいので、これが私が通常英語でコーディングする理由の1つです(私はスペイン出身です)。もう1つは、スペイン語の単語と英語のキーワード、フレームワークのクラスやメンバーを混ぜるのが醜いことです。
それは私からのジレンマです:メカニズムとキーワードのために、または文書を読むために、本当の問題はありません。
私の英語は下手で、この言語には多くの微妙な重要なアイデアを表す言葉がありません。
私は英語で開発しようとしましたが、それは私を迷わせます、そして私は現実の世界を表す既知の言葉で再びそれを作らなければなりません。
したがって、コア/必須コードの場合、それはフランス語(誰も完璧ではありません)であり、ネイティブ言語の場合、一部のコード(すべてではない)の近くに理解の鍵を置くことはそれほど難しいことではありません。
それは誇りではなく、異なる文化で仕事を豊かにし、最良の方法で仕事をすることだけです。
5年前にアプリケーションを開始したとき、4人のオランダ人プログラマしかいませんでした。しかし、私たちはすべて英語で書いた。
今日、私たちのコードはフランスの同僚とインドの開発者によって使用されています。英語を使用しているおかげで、コードも使用できます。フランス人の同僚は、コメントと命名方式にかなりフランス人がいます。それでもある程度は理解できますが、すべてが英語で書かれているとはるかに簡単です。
要するに、もし明日ブラジル人の同僚が何人かいるとしたら?