2017-07-11 16:05:54 +0000 2017-07-11 16:05:54 +0000
205
205

インターン生のプロ意識のない行動にどう対処する?

私は小さな会社(社員数十人程度)でソフトウェア開発者をしています。夏のインターンシップを実施しています。インターン生は、専門的な経験がなく、プログラミング言語のかなり基本的な知識を持った大学生です。(インターン生の選定には私は関与していません)。インターン生の中には、将来的に彼らのパフォーマンスに基づいて会社に採用される人もいます。

インターン生は、より複雑なものに移る前に、いくつかの基本的な原理を得て、お互いを知るために簡単なアプリケーションを開発しています。彼らが抱えている主な問題の一つは、命名規則に従わず、メソッドの名前を貧弱で短いものにしてしまうことです(convertのような)。もちろん、私は適切な命名が非常に重要であること、長い、説明的なメソッド名を使うことを恐れてはいけないことを彼らに説明しました(convertGallonsToMilliliters のような)。不幸なことに、彼らのうちの何人か(そして、バージョン管理を使っているので、私は誰か知っています)は、どうやら、ちょっとした楽しみ(あるいは私をあざ笑うこと)を見つけて、convertToMillilitersBecauseIAmUsingSuchCleanCode のようなバカげたメソッド名を作り始めました - 一度きりではなく、いくつか。本番のコードではないことはわかっていますが、私はかなりの時間をレビューに費やしていますし、最善を尽くしています - インターンの学習を助け、クリーンなコードになるとベストプラクティスをピックアップしてもらうために。

  • 笑い飛ばす("Yeah, it’s funny but please remove it")
  • 丁寧に削除をお願いする
  • 誰かが私の時間を無駄にするのは好きではないし、彼らはコードレビューをもっと真剣に受け止めるべきだと伝える

大したことではないのはわかっているのですが、インターンを手伝うのは初めてなので、このような状況にどう対処したらいいのかを知りたいです。でも、インターン中の成績が採用の可能性を左右しますし、後々のことを考えると、こういうこともありますよね。それとも、実際に何かを学ぶためのモチベーションを高めるために、これらのラインに沿って何かを伝えるべきでしょうか?


EDIT: 素晴らしい回答をありがとうございます。上司と相談して、インターン生にも相談してみました。私はホワイトボードにメソッド名を書き、彼らはそれが良い名前だと思うかどうかを尋ねました。また、コードレビューの目的についても簡単に話しました。実際のプロジェクトでは、外部の会社がコードレビューの監査を行っていることもあり、このような冗談を言っていても後でトラブルになる可能性があります。このような冗談は後々トラブルになる可能性があるので、実際にはインターンシップの間に学んだ方がいいと思います。また、私がコードのレビューに時間を割いてくれたり、助けてもらったりしていることに感謝しているとも言ってくれました。しかし、一番良いのは、それ以来、彼らの仕事の質がreally向上しているということです。実際、そのジョークをコミットした人は、グループの中で最高のコードを提供し始めました。

回答 (21)

277
277
277
2017-07-11 16:13:04 +0000

笑い飛ばすのは適切な方法ではないと思う。彼らはもう学校ではないことを学ぶ必要があります。

私は、彼/彼女にしっかりとした態度で、次のようなことを言うことをお勧めします:

命名規約について話し合ったのは、それが非常に重要だからです。このコードは将来的にメンテナンス可能である必要があります。周りの多くの人たちは、このようなジョークを理解していないかもしれません。あなたのプロ意識を疑われる可能性があるので、今後はこのような名前の使用は控えてください。

109
109
109
2017-07-11 17:06:08 +0000

まず第一に、これは冗談のように見えますが、彼らはよく知っていますが、何にも使用されず、二度と読まれないようにコードに入れられています。私はあなたがこの事件にあまりにも多くのことを読み込んでいると思います。重要なことは、あなたが命名規則について彼らに言ったことであり、彼らはあなたを無視していなかった、彼らは(皮肉を込めてとはいえ)より長く、より説明的な名前を使用しました。自律性&002 2。マスタリー&002 3。目的

あなたが彼らに求めていることは、自律的ではなく、おそらくそれらのいくつかのための些細な難しさであり、彼らの目には目的を果たしていません。

割り当てを修正し、労働者はそれに従います。大したことないとは思いますが あなたのスキルを見極めて 成長につながると思われる仕事を 割り振るためには この課題を終わらせてもらいたいです

46
46
46
2017-07-11 21:49:11 +0000

TL;DR* . 私がこのメソッド名に異議を唱えるのは、それが(私の意見では!)上司や「ルール」(ここではスタイルガイドライン)を軽蔑しているからです。職場では、「好きにするか、変えるか、残すか」というルールに従うことを期待しています。この場合、そのガイドラインが不要だという意見を持っているように見えるインターンは、とにかくそれを受け入れるか、それについての議論を続けるか、彼がすることをやめるかのどちらかになるべきです。トイレの中傷に相当するものを入れるのではなく。私は本当に面白い、創造的な方法の名前に対して何の異論もなかっただろう。あなた(OP)は、メソッドの名前が面白いだけで、私がするように “悪い "ではないことを見つける場合は、この答えを無視してください_


背景として、私は過去にいくつかの非常に知的で(自己)やる気のあるインターンを監督している、と彼らは専門的に振る舞うかどうかについての質問があったことは一度もありません。インターンとして職場に学校レベルの愚かさを持ち込むことは、許容範囲外のことなので、ふざけないことをお勧めします。笑)

このような場合の適切な対処法を知りたいのですが、まず第一に、コーディングの規則を忘れてください。問題はパソコンやプログラミングとは関係ありません。

「嘘をつくな。言葉をミンスにしてはいけない、笑い飛ばすな、なぜならそれは本当に笑い事ではないからだ - 個人的になるな。それはnotについてあなた OP、またそれらとあなたの関係について_ではありません。彼らの行動についての純粋かつ厳密な問題なのです。あなたは絶対に犯罪者に、彼がどうやって彼のしたことをするようになったのかをなんとなく理解していて、あなたは彼に個人的に怒っているわけでも何でもなく(感情を出さないようにしてください)、あなたはインターンシップを後で誰を仲間に入れるかの審査として見ているということを伝えることができます。あなたは軽度の悲しみを表示することができます(そして率直に言って、それはまさに私が実際に感じるものであろう)と、あなたはかなり失望したことを彼らに示すことができます。

それでも、インターンシップ中の彼らのパフォーマンスは、採用されている彼らのチャンスに影響を与えますし、このような状況は、後で役割を果たすことができます。後で役割を果たすことができる」とあやふやにしてはいけません。このような行動は、インターンシップ後に内定をもらえる可能性をゼロにしてしまう可能性があります。普段からどんな言い方をしていてもいいから、はっきりと言ってみてください。

根本的な原因を探ってみてください。もしあなたがどちらかを見つけたら…

  • … …彼らは自由意志に反してここにいる(多分彼らの両親、または彼らの学校や何でも、彼らはいくつかのインターンシップを選択して、彼らはちょうどあなたの会社を選ぶことが起こった)…
  • … …彼らは全く "ビジネス "スタイルのソフトウェア開発に興味がない…

… …その後、インターンシップを中止することを提供することは、あなたができる最悪のことではないでしょう。問題は、yourtimeが無駄になっていることではありません(あなたは、いずれにせよそれらを監督するためのあなたの時間をたくさん割り当てていた、彼らは実際にあなたのためにそれを悪化させることはありませんでした)、問題はtheirtimeが無駄になっているということです。彼らはすでにコーディング規約に興味がないことを証明しているので、コーディング規約の有用性について学ぼうとする人のモチベーションを高めるのは非常に難しいと思います。あなたは、あなたが言わなければならないことに興味を持っている人に教えることができます;しかし、誰かが興味を持っていない場合、あなたができることは何もありません。インターンシップは、実際の職場で働いている経験に対して、彼らが提供することができますどのような限られたサービスの交換です。もし彼らがその経験を吸収することに興味がないのであれば、本当に意味がありません。おそらく、あなたの会社は、いくつかの実際のプロジェクトのために彼らの "マンパワー "を持っていることに依存していません。

33
33
33
2017-07-11 16:50:40 +0000

みんな嫌々やってますが、たまには権限を使って問題を解決しないといけません。インターンを会議に呼び、命名規則が守られていない理由を知るように要求します。その際、命名規則が守られていない例がいくつか出てきました。例えば、convertToMillilitersBecauseIAmUsingSuchCleanCodeです。この名前が選ばれた理由を説明してもらえますか?

彼らの「答え」は無関係ですが、これは彼らの上司(私はあなたがいると推定しています)の指示に反して行くと、彼の費用で冗談を作ることは、プロの環境で受け入れられないことを「最初の警告」の十分なものとして役立つはずです。それも、プロの環境で働く方法を学生に示すことであるインターンシップの1つの目標によく適合しています。

彼らは彼らの幼稚な行動を続ける場合は、その後、よく、私はあなたがこれに結論に達したと思います:

インターンの一部は、彼らのパフォーマンスに基づいて、将来的に会社で雇われることになります。

25
25
25
2017-07-11 19:30:45 +0000

ああ、ねじ落ちの束、えっ?

いくつかの作業コードを取って、故意にそれを壊すために何かをしてください。それから難読化装置を使って、クラス、変数、メソッド名を変更して、"a\_1318798\“と "xy23_7a963 "のようなものにして、あるいは、変数名にたくさんの文字O、文字I、数0と数1の文字を入れて、それを実行します。コードが何をしているのかを文書化して、修正するのが彼らの課題です。

22
22
22
2017-07-11 17:48:49 +0000

大したことではないかもしれませんが、インターンを手伝うのは初めてなので、どのように対処したらいいのか知りたいです。でも、インターン中の成績が採用の可能性を左右しますし、後々のことを考えると、こういうこともあるかもしれません。それとも、実際に何かを学ぼうとするモチベーションを高めるために、このようなことを伝えた方がいいのでしょうか?

もし、コードレビュー中にこのような馬鹿げたことに遭遇したら、笑って、コードレビューを止めて、ユーモアを取り除いたら、また来てくださいと伝えてください。そうでない場合は、理由を説明してください。

うまくいけば、あなたは彼らのパフォーマンスを追跡していて、これがどのくらいの頻度で起こるかに注意することができます。

17
17
17
2017-07-11 21:42:39 +0000

私は、一人一人と個人的に、率直に、真剣に、でも厳しさを感じさせない口調で、次のような話をしました:

「インターン、あなたのジョーク方法の名前を見ました。私はあなたがそれをした理由を理解していますが、私自身、それはすべてのすべてのそんなに面白いとは思いませんでした。それで私はあなたに尋ねるために発生します、あなたは何をしにここに来たのですか?何を成し遂げたいのか」

インターンがふざけているだけだと言うのであれば、経営陣と話してインターンを終了させましょう。あなたはあなたの時間を無駄にしています。

彼が学ぶためにそこにいると言うならば、このように何かを言う:

“私はそれがあなたが生産に使用されないことを知っている何かを真剣に取ることは難しいことができることを理解しています。でも、あなたの時間を奪っているのは、あなただけではなく、私の時間も奪っているということを自覚してください。あなたが会社から提供されたインターンシップは、要するに面接のようなものです。我々の慈善事業ではなく、良い候補者を見つけたいという希望があるからです。だから、それは私の時間を割く価値はありますが、あなたが真剣に取り組んでいる場合に限ります。”

“もしあなたが真剣に取り組んで、重要なプロダクションコードを書いているかのように働くことができないのであれば、私たちはどのようにしてあなたを適切に評価し、仕事を提供するかどうかを決めることができるでしょうか?そして、仕事を提供しないとしても、それでも真剣に取り組まないのであれば、他にどのようにしてこれらのスキルを身につけ、あなたよりも経験豊富な人の貴重な指導の下で練習することができるのでしょうか?”

“もし私があなただったら、あなたを指導している人たちのリードに従うように最善を尽くしますが、その人たちは、多少なりとも慈善的に、あなたに投資するために、仕事から利益にならない時間を取っています。我々があなたを雇うかどうかに関わらず、あなたはこのインターンシップから利益を得ることになると考えてください!私は個人的には、あなたがこのインターンシップに参加してくれたことを感謝しています。個人的にはもう少し真剣に考えてくれると嬉しいです。自分のためにやってみよう! もしあなたが自分のためにそれをしたくないのであれば、尊敬の念から、あるいは単に感謝の念から、私があなたとあなたの未来に投資するために通常の生産的な仕事から離れて取った時間のためにそれをしてください。”

それはおそらく、行動自体をやや直接的にアドレスすることが適切であり、なぜあなたはそれのうちのやや大騒ぎをしている。あなたは、このような何かを検討するかもしれません:&002

“それは価値があるもののために、アクションのこの種の不敬、あるいは企業の世界では、嘲笑と見なされます。私はあなたがそのようにそれを意味していないと確信しています[あなたがこれを信じていない場合でも、それを言ってください]しかし、将来的には、コードに嫌味なものを入れずに私の指示に従ってください”

“ああ、ええ、私は無礼を意味しませんでした "と言ってインターンの "アウト "を与えることは、彼が顔を保存し、可能な限り最も痛みのない方法で関係を修復することができます。彼はそれを無礼に意味したか、いくつかの巨大な謝罪を収集するために自白を抽出する必要はありません。ここでのポイントは、パワーオーバーではなく、インターンシップを成功させることです。インターンにパフォーマンス目標を与えることができない理由はありませんが、問題のある従業員にそうするのと同じように、またはあなたが正社員と一緒に使用する他の戦略を使用することができます。しかし、インターンは仕事の世界では経験がなく、あなたが優しく、しかししっかりと、プロの仕事の世界の基準にそれらを慣らす間、休憩または2つを与えられるべきであることを覚えておいてください。

12
12
12
2017-07-11 18:52:55 +0000

問題のインターンは、あなたの時間と忍耐を無駄にしています。あなたの時間と忍耐は会社にとって高価で限られた資源であり、会社が彼らに投資することで利益を得ているインターン生は会社の資源に制約を受けています

無駄に会社の資源を浪費する彼らの意欲は彼らの業績評価の関連する部分であり、実際に仕事と指示の両方を任されることができる貴重で責任感のある信頼できる職場の一部となる方法を学ぶことに興味を持っているインターン生だけに会社の資源を使うために、インターン生の早期解雇につながる可能性があります。

私はインターン生全員にこのことを伝え、コードの例を見せながら、その作者については触れず、2分以上の時間を費やしてはいけないことを伝え、もしコードが修正され、同じような事件が繰り返されない場合には、再びコードについて触れないようにします。その後、あなたは成功したインターンシップの彼らのチャンスを妨害している人を削除するために他のインターンにそれを負っているかどうかを決定する必要があります。

9
9
9
2017-07-11 17:58:26 +0000

ここでは主に2つの問題があるように聞こえます。1) 彼らは不遜なことをしている、2) 関数の名前が長くなったにもかかわらず、まだクソだ、ということです。

冗談を言って叱責しても、おそらく彼らはあなたの権威を尊敬するようにはならないでしょう。私は必ずしも間抜けなプレイと私はそれが冗談だと気づいていないようなふりをしないだろうが、私は彼らが彼らがした名前を選んだ理由でそれらを質問するだろう:&002&002 > “それは、関数が何をするかを説明するのに役立ちませんこの関数名にいくつかの余分な言葉があるようだ"&002&002 そのように、それは良い関数名を作るもので、あなたが直接それらに直面していない上で彼らのための学習機会だ。追加ボーナスとして、彼らは、彼らがふざけていただけだったという事実を認めるかもしれませんし、みんなの時間を無駄にしてしまったことを恥じているかもしれません。

5
5
5
2017-07-11 20:35:15 +0000

**自分が責任者であることを再認識させなければならないのであれば、自分は責任者ではなかったことになります。これはプロジェクトの結果のための個人的な責任を植え付ける 2. 即時の専門家のフィードバックを提供します 3. 開発者にプロジェクトを完了させるための切迫感を与える

チームの一員としてリーダーシップを活用し、組織の基準を守る。そして、若い従業員がそれらの基準を満たすのを助け、標準以下の仕事を提示することの恥ずかしさを避けて下さい。

3
3
3
2017-07-12 14:49:30 +0000

ただ、(個人的に、あるいは電子メールで)違反者に、インターンシップがそのようなジョークを言うのに適切な場所ではないこと、そして、彼らがキャリアを始めたいのであれば、真剣に受け止めなければならないことを伝えてください。

コードを修正してもらうか、(あなたがいくつかの権威を示したいのであれば)バージョン管理で彼らの変更をロールバックしてください。

3
3
3
2017-07-11 17:57:48 +0000

私は、1行80文字のガイドラインが堅苦しいルールではないことを知っていますが、それに固執することは良い練習になります。

あなたが試してみて、彼らの頭の中に新しい練習をハンマーで叩くようになるでしょう(彼らはすでに行を短く保っていないと仮定して)、長い変数名が悪い理由を理解していないインターン生が見つけようとしている、と “賢い "インターン生はすぐに彼らが思っていたように賢くされていないことを発見するでしょう。

なぜ convertToMillilitersBecauseIAmUsingSuchCleanCode が特に悪いのかは、経験豊富なコーダーには明らかですが、「それは悪いことだ」と言うのではなく、その理由を見つけるように強制してください。冗長な名前に遭遇することも少なくなるでしょうし、運が良ければ、将来的には、鼻持ちならないようにすることも少なくなるでしょう。

3
3
3
2017-07-12 06:17:32 +0000

これは、"ワンサイズフィットオール “である必要はありません。 All Size Fit Some:

提案されたアプローチのそれぞれは、偉大にうまくいくことができ、状況に応じて最良のアプローチである可能性があります。ここでは、約尋ねられたアプローチのそれぞれに私の応答です:

私は

によって反応する必要があります - それを笑い飛ばす(「ええ、それは面白いですが、それを削除してください」)

これは素晴らしいアイデアです。あなたは、

と仲良しになっているこれらの同僚との優れたラポールを持っている

  • ちょうどそれを削除するために丁重に尋ねる

これは素晴らしいアイデアです。あなたは誤解がないように直接になりたい

  • 誰かが私の時間を無駄にし、彼らはより真剣にコードレビューを取るべきであるときに私は好きではないことを伝える

これは素晴らしいアイデアです。あなたは、迷惑を通信し、権威主義的なアプローチに固執したいと思います。

(私はあなたが非攻撃的な、丁寧な、実際の迷惑のビットがあることを通信していない面白い方法にこれらのアプローチのすべてを組み合わせることができるかもしれないと思うように傾いている。"この種のことは、それだけで私が行く[mock-scream]になるので、停止する必要があります "ちょうどそれを達成するためのユーモラスな方法かもしれません)

個人的には、私はフレンドリーな方法が好きです。私はその方法を信じています。しかし、私は容易にそのようなアプローチはあまり効果的ではない時があることを認めます。

**しかし、何がベストですか?"私はどこかに取得する必要があります。私は一輪車、pogostick、自転車、またはバスを使用する必要がありますか?”

それらの交通手段のアプローチのいずれかが最善である可能性があります。同様に、どのように反応すべきかという質問に答えるために:あなたの最高の反応は私の最高の反応ではないかもしれません。

これは、異なる回答がインターン生の行動が生産結果に適していないことに同意しているように見えるにもかかわらず、異なる回答が異なるアプローチを好むように見える重要な理由です。前述のように、私たちは普遍的にすべての人にとって最高の働きをする単一の “ワンサイズフィットオール "のアプローチを持っていないかもしれません。

私たちはここで人々を扱っているので、いくつかのシナリオで最高の働きをするものは、他のシナリオでは同じようにうまくいかないかもしれません。重要な要因の一つは、あなたです。あなたは橋を燃やすことなく厳しいことができますか?あなたはまだ十分なコンプライアンスと所望の結果を得るためにインスピレーションを確保し、軽快であることによってそれらを仲良くすることができますか?何が私のために最高の作品は、あなたのために恐ろしいほど動作するかもしれません。最終的には、あなたが取るためにそれらのアプローチのいずれかに判断の呼び出しを行う必要があります。あなたは(悪い/攻撃的なユーモア、または厳格であるための努力で不快な脅迫的な環境を作成する)オーバーボードに行かないことを確認してください。

あなたが前進するために進むことにしたあなたの素晴らしい提案のいずれかに関係なく、結果に目を離さないようにしてください。大きな問題を起こしていなければ、積極的かつ迅速に対応すれば、非常に挽回できる可能性があります。それが、一番完璧な判断をしようとすることをあまり気にしすぎてはいけない理由の一つです。物事がうまくいかなくても、あなたの状況はうまくいく可能性があります。人は違いますし、学習は予測できないものであり、修正を必要とする最初のアプローチに恥じる必要はありません。あなたがすぐに回復する限り、これは非問題である可能性があります。

鍵は、望ましくない結果を見つけるために開始するとすぐに変更を行うことです。すぐに適応する必要があることを期待してください。いくつかのアプローチが機能していないときは、すぐにアプローチを修正するために非常に準備ができているか、あるいは完全に窓からそれを投げ出す。あなたがやっていることがうまくいっていない場合は、ブレイクスルーの寸前にいる可能性が高いかどうかを判断するか、または何か別のことを試す必要があるかどうかを判断してください。フィードバックを得ることは、この判断に役立ちます)他のことを試す必要がある場合は、そうしてください。

あなたがすぐに行動する限り(苦味のような長期的な感情がホールドを取るために開始する前に)、マイナーな不完全性は、簡単にあなたが全体的に達成する肯定的な結果に比べて取るに足らないものとして脇にブラシをかけることができます。物事が不完全に行く場合は、問題はマイナーであることを確認してください。大きな失敗は、忘れるのが少し難しいかもしれません。例えば、ユーモアのつもりが危険なこともあります)

例えば、相手があなたを嫌っていたり、環境を嫌っていたりするようになったら、誤解を解くようにしましょう。あなたが彼らの味方であることを確認してください。望ましい行動を促す。

2
2
2
2017-07-11 16:23:11 +0000

2年前、私も御社のインターンと同じような立場でした。似たような事をしたであろう シナリオを思い浮かべます。一部のインターンは、あなたの権威に問題があると思います。衒学的であることや、プロ意識がないこと。これは主に、私の世代が年長者や地位の高い人に対して敬意を持っていないことに起因しています。私は状況を解決するために、次の方法を試してみます。

  • “リーダー"、"アルファ "を出し抜くことによって、インターンの尊敬を得る。

  • みんなへの教訓として、衒学的な関数名を使用して、最適な関数名の長さ:Goldilockのゾーン。

  • "convertToMillilitersBecauseIAmUsingSuchCleanCode "関数の欠陥を指摘し、何か適切なものへのリネームを提案する(/demeaning)

  • 気づかないように、関数名を無視してください; 学びたい個人にあなたの時間を集中してください。

2
2
2
2017-07-13 12:57:23 +0000

笑う("Yeah, it’s funny but please remove it") - ただ丁寧に削除をお願いする - 誰かが私の時間を無駄にするのは好きではない、彼らはもっと真剣にコードレビューを取るべきだと言う

どうでしょうか" *Understanding why they did this? *

誰かが自分が期待していないことをしてくれたとき、自分が望んでいないことをしてくれたときには、それに反応して自分が望んでいることをさせることもできますし、なぜそのようなことをしてくれたのかを理解しようとすることもできます。彼らは本質的に遊び心があるが、何かについての彼らの欲求不満を空気にするために取得されていない場合は、これは誰かがそれをチャネルすることができます方法です。私たちはすべて、これはそれをチャネルするための肯定的な方法ではないことに同意することができます。

代替のアプローチ

だから何isフラストレーションと遊び心をチャネルするための肯定的な方法ですか?私は、人々が時々時間の10%のプロジェクトを行った会社で働いてきましたが、そのようなプログラムのようなマイクロコントローラは、DSLRで自撮りを撮るために。彼らはそれを自由にやらせてもらえるだけでなく、それを出荷可能な製品にする責任を与えられていました。それは、1日のハッカソンからコード例へと発展し、今では会社のウェブサイトで公開されています。この例を参考にして、ボタンをクリックするだけで電源を入れることができる深海カメラのリモコンにすることができます。あなたがあなたの会社で持っている標準に準拠したインターンをしたい場合は、この可能性はあなたのためではありませんし、その場合は、それらを行かせることを検討してください。しかし、物事を揺さぶることに価値があると思うのであれば、このようなイタズラ好きな人たちに、イタズラで何か役に立つものを作ってもらいましょう。最終的には、あなた次第です。**あなたはこれらのインターンに誰になって欲しいですか?

2
2
2
2017-07-13 15:06:47 +0000

しかし、30年近くのプロのソフトウェア開発者として、コーディングのガイドラインはほとんど常に 過剰な規定 になっていると言います。さらに悪いことに、多くの場合、これは読みやすいコードを作成することよりも、彼らの Authoritah に関心を持っている人々によって掴まれています。このようなジュニアエンジニアの受け身で攻撃的な行動は、そのようなことが起きたときに典型的に見られるものです。

コードコメントにくだらないことを書いたり、識別子の名前をつけたりするのは、ソフトウェア開発者の間では古くからの伝統です。これは 私自身の後輩時代 (48件の投票を得ました ) の標準化された抗議の命名の例です。

もしここで問題があるとすれば、あなたの環境におけるソースコードの可読性や保守性に問題があるということです。私はここでのトップの答えが間違っていると言っているのではありません。間違ってはいません。しかし、複数のジュニアエンジニアがこのような行動をとっているのを見たときには、死体を片付けた後に、あなたのカナリアが死に続けている根本的な理由があるかもしれないかどうかを本当に調べるべきです

最終的な目標はコードの品質です。コーディングガイドラインは、開発者が開発者のために開発者によって作られた、開発者のためのツールであって、プログラムの書き方の権威主義的なプログラムではありません。

1
1
1
2017-07-14 20:41:26 +0000

このような小さなプロジェクトでも、なぜこのタイプのコーディング規約を使用することが不適切なのかを示すための非常に良い例を持っているように聞こえます。

**見たでしょう。

私は彼らにあまりにも厳しいことはないでしょう - 結局のところ、これはis彼らのためのちょうどトライアルです - しかし、私は間違いなく指摘するだろう、将来的には、そのようなコーディングの慣行は、問題に彼らを得る可能性があります、特に彼らの次の上司があなたのように彼らと一緒に患者ではない場合は。

0
0
0
2017-07-13 00:40:21 +0000

まず第一に、私はこれが that 悪いことだとは思いません。彼らはおそらく完全には把握していないであろうトピック(名前の規則)についてのジョークをコードに入れているのです。内部的なジョークをコードに入れることは新しいことではありません。また、彼らはそのコードを「内部シート」と考えているかもしれません。もし彼らがメソッドの名前を変更するためだけにコミットした場合、はい、彼らはあなたの時間を無駄にしているので、変更は拒否されるべきです。しかし、新しいメソッドが必要で、粗末な名前を選んだ場合、レビューにかかる時間はどちらの名前を使っても同じようになります。コミット前のレビューをしているのか、コミット後のレビューをしているのかわかりませんが、誰かがコードを承認/マージしたいと思っているとき、実際にコードを承認してもらうために往復の旅費を追加しているだけなので、彼らがやっていることは実際には自分自身に不利に働いています。

さて、どうすればいいのかという実際の質問に釘を刺しながら、名前の規則に問題があったことを持ち出して、先週の作業を見直して、適切な名前を使っているかどうかを確認してもらい、数年後には簡単に理解できるかどうかを考えてもらうことをお勧めします。

理想的には、関数ごとに1行程度、例えば

convertGalToml. ガロンをミリリットルに変換します。

コードを見直している間に、新しい問題点に気付いたり、より良い名前を考えてくれたりすることが予想されます。ユーザーマニュアルなどよりも技術的な読者ではありますが、彼らは仲間の前で自分の選択を正当化することに満足しているはずです。

0
0
0
2017-07-12 02:31:19 +0000

私の直感では、インターンたちは「007」のような名前に問題があるとは思えないから、このようなことをしたのではないかと思っています。皮肉な名前は、反抗的になりたいからではなく、もっといい名前をどうやって思いつくかわからない、もっと長い名前しか思いつかないという不満から来ているのではないかと、私は小額のお金を賭けてみたいと思います。そして、それはちょっとしたことですが、あなたが彼らに言ったことですよね?もしあなたがこれらの人たちに改善を望むのであれば、毎日のミーティングの中で、なぜ007が悪い名前で007がより良い名前なのか、なぜ007が悪い名前で007がより良い名前なのか、ということを正確に話し合う必要があります。もしあなたの経験から、悪い名前の選択が問題を引き起こしている例があれば、それは彼らの助けになるでしょう。また、あなたや仲間に助けを求めたり、相談したりしても良いということ、これは全員が一人でやらなければならないテストではなく、共同作業であるということを、理由の範囲内で教えてあげてください。(これが本当であることを願っています!) そうすることで、質問をしたり、お互いに話し合ったりして、フラストレーションを早期に解決することができるかもしれません。

そのような行動が続く場合にのみ、私は説明する必要があると思います、はい、これは実際のアプリケーションではありませんが、この演習とスタイルガイドラインは複数の理由から真剣に受け止めるべきです。

  • この課題にあなたと一緒に時間を割くのは、私の時間の価値があります。この時点では、その行動を黙らせてしまう可能性が高いですが、なぜ彼らがより良い名前を必要としているのか、どのようにしてより良い名前を思いつくのか、ということを理解してもらうのには_助けにはなりません。もしあなたがこの道を歩むなら、あなたは彼らが長い悪い名前を考え出して、あなたの厳しい視線を避けていることに気づくかもしれません。
-3
-3
-3
2017-07-15 15:01:55 +0000

あなたは彼らのマネージャーではありません、それはあなたが彼らにインタビューするかどうかは問題ではありません。あなたは私のようなエンジニアです。そして、コードコラボレーターのようなシステムを使って、そのようなコードを書かないようにアドバイスします。あなたも彼らにメールを送ったり、彼らと交流したり、これらのものを個人的に取る必要はありません。そのコードレビューに基づいた評価システムを導入してください。彼らをコントロールしようとしたり、彼らのマネージャーになろうとしたり、人の管理をしようとしたりしないでください。

上司と話し合って、レビュー後のコミットを拒否したり承認したりする権限を自分のものにしておきましょう。各インターンが最初に10点だったとして、あなたの採点で100点になったとします。もし私がインターンで、あなたの下で働いていて、あなたがただのシニアエンジニアだったら、私はあなたに人の管理をされるのは嫌だと思います。それはあなたの仕事ではありません。

それは私にはあなたが行き過ぎて制御不能になっているように聞こえます。エンジニアとしてその教訓を学んでください。あなたはエンジニアであり、人々がそれらを管理するために彼らのマネージャーではありません。

-4
-4
-4
2017-07-15 01:10:02 +0000

インターンの行動は専門家ではないかもしれませんが、彼らが間違っているかもしれないということを考慮しないのは、経営者にとっても専門家ではありません。明らかに、convertは多くの文脈で曖昧さを表すには短すぎるかもしれませんが、convertGallonsToMillilitersは識別子の名前としてはway too longです。恣意的なネーミングの冗長性の要求を全面的に課すのではなく、インターン生が選んだ名前が本当に曖昧なのかを正当化し、プログラムの可読性を妨げるのではなく、プログラムの可読性を向上させるような合理的なものを考え出すことに挑戦すべきです。

これは、「なぜ部下は私を尊重してくれないのか」というよくあるパターンが、「私自身の態度が私の立場を尊重してくれないようにしているのはどうなのか」という問題になっているような気がします。