タグ

プログラミングとプログラマに関するikd9684のブックマーク (10)

  • 新人エンジニアこそちゃんと調べてちゃんと知りちゃんと考える - Qiita

    稿について 稿は、 学生時代にHTML,PHP,Javaくらいなら触った事あるかな程度の配属4ヶ月目の新人である自分が、 ほぼ初めてJavaScriptや、色んなフレームワークに触れ技術の荒波に揉まれながら、 ちゃんと調べてちゃんと知りちゃんと考える事が大事だなーとぼんやりと思ったこと を書き記すものです。 出来るだけ上流のソースを読む 分からない事に出会った時 分からない事に出会った時、まずググりますよね。 そこでまず目に留まるのは「非公式かつ目的の用途に限定された」ものです。 しかも日語だから読みやすい!やったぜ! 先人達の知恵と努力の結晶はありがたく活用させて頂きたい所存です。 細かいことは考えず解決!しかし… 鵜呑み型ケーススタディの問題点 その解答例が自分の環境で上手く動作するのか 似たようなケースに流用出来るのか その解答例の内側ではどういったやり取りが行われているのか説

    新人エンジニアこそちゃんと調べてちゃんと知りちゃんと考える - Qiita
  • プログラマたる者、人に頼る前にこれぐらいはやっておきたい - Qiita

    はじめに 春ですね。 全国各地で数多の新人プログラマが生まれたことでしょう。 新人のうちはわからないことだらけですし、真っ当な労働環境でしたら先輩方が「わからないことがあったら何でも聞いてやー」と言ってくれます。 ですので、プログラムが謎のエラーメッセージを吐き出したりしたらすぐに質問したくなるかと思います。 しかし、個人的な見解ではプログラマのスキルが最も鍛えられるのは、わからないことを前にして自分なりに色々と調べて試行錯誤する時です。 多分、世の中の凄い人たちの中には身近に質問できる相手がいなくてひたすら自分で頑張った結果、超進化を遂げたという人も少なからずいるのではないかと... というわけで、人に頼る前に自分にできることをしっかりやることで同期に差をつけちゃいましょう! もちろん新人じゃなくても、「すぐに人に頼っちゃうなぁ、どげんかせんとなぁ」という方々にも参考にしていただけると幸

    プログラマたる者、人に頼る前にこれぐらいはやっておきたい - Qiita
  • コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!

    長くなったので先に三行でまとめておこう。 コピペするプログラマが生まれるのは教育の問題ではないか(仮説) 文法は学んでも処理の流れから考えることは教わっていない(根拠) ロジックを訓練するには脳内プログラミングが良いのでは?(提案) 少し前に私のMediumで、こんな記事を書いた。タイトルが言葉足らずだったおかげで、少し話題になった。「量産型プログラマを撲滅したい」 今回の記事では、この中で書いたコピペするプログラマがなぜ生まれるのか、どうすれば良いのか、考えてみたい。 どうすれば見分けられるのか 書いたプログラムを説明させてみれば、その人が、ちゃんと考えて作れる人か、コピペでしか作れない人か、すぐにわかる。自分の書いたプログラムの流れを説明できるということは「わかって書いた」ということだ。わかっていなければ説明できない。 「わかって書く」という一見すると当たり前のことができない人もいる。

    コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!
  • 第1章 良いコードと良いコミュニケーション―一人前のプログラマへと至る道 | gihyo.jp

    とある開発チームに配属され、プロジェクトの一員として開発に関わり始めた後輩くん。社会人生活1年目、順調な滑り出しかと思いきや……? ううーん…… 実は、さっきリーダーに「もっとちゃんと、チームでの開発であることを意識して作業するように」って言われたんです。でも、具体的にどうすればいいのかで途方に暮れちゃって…… ああ、後輩くんはこれまでチーム開発の経験がなかったんだね。チーム開発では、短期集中で1人でやる場合とはまた違うやりかたが必要になってくるんだ 違うやりかた? 仕様どおりに動くように作って、納期までに完成させればいいんじゃないんですか? それももちろん大事だけど、それだけでは不十分なんだ。そうだなぁ、いろいろあるとは思うけど、良いコードを書いて、良いコミュニケーションを取る、これがチーム開発で必要なことだと私は思うよ そう言われても、何が良くて何が悪いのかよくわからないんです 開発者

    第1章 良いコードと良いコミュニケーション―一人前のプログラマへと至る道 | gihyo.jp
  • 「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき

    非常に勉強になったので、所感とともに10個引用してみます。 [02] 関数型プログラミングを学ぶことの重要性 いきなり関数型プログラミングかい!って感じですが。 最近「JavaScriptで学ぶ関数型プログラミング」を読んでいて、非常に共感できる内容だったのでチョイス。カリー化や再帰を知ったことは、間違いなく自分のプログラミング観を向上させました。 関数型プログラミングのパラダイムを十分に学べば、その知識、技術は、マルチコアへの対応以外にも幅広く役立つでしょう。まず、自分の書くコードの品質を大きく高めることができます。重要なのは、「参照透過性(referential transparency)」が向上するということです。 参照透過性が高い、というのは非常に素晴らしいことです。参照透過性が高いとは、関数がどこでいつ呼び出されようと、入力が同じであれば、常に得られる結果がおなじになる、というこ

    「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき
  • 1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ

    プログラマの素養を確認するための簡単な問題として有名な「FizzBuz」問題。ただしこれだけ有名になってしまうと、プログラムの能力を試験するための新たな問題が必要とされているかもしれません。 経験豊富なソフトウェア開発者、Santiago L. Valdarrama氏が、「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」を出題し、Redditなどで話題となっています。 その5つの問題は以下の通りです。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 問題2 交互に要素を取ることで、2つのリストを結合する関数を記述せよ。例えば [a, b, c]と[1, 2, 3]という2つのリストを与えると、関数は [a, 1, b, 2, c, 3]を返す。 問題3 最初の100個のフィボナッチ数のリストを計算す

    1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ
  • ダメなコードを改造しなくてはいけなくなったときは、ダメさを片っ端から潰していくしかない

    仕事としてプログラミングをしていると、ときどき、どう見てもダメなコードを扱わないといけないことがある。そういうコードでも動いている以上はそれなりの価値を提供しているわけだけど、ときどき触るのすら嫌悪感を感じるようなものがある。 なぜ嫌悪感を感じるのかといえば、自分で最低限だと思っている想定すら守られていないからだ。常識の通じない人たちの書いたコードには身の毛もよだつような何かがある。 コーディングスタイルが統一されていない インデントが狂っている 到達不能なデッドコードがたくさんある 無意味なコメントやコメントアウトされたコードがある コメントの文章が文章としておかしい コピペの繰り返しがたくさんある ネストが恐ろしく深い 関数が絶望的に長い 無意味に複雑 こういったコードを触らなくてはいけなくなったとき、そのままで編集するのはかなり難しい。コードの内容以前に、不自然な部分でいちいち引っか

    ikd9684
    ikd9684 2015/03/30
    「コメントの文章が文章としておかしい」全てはこれだと思うんだよね。自分のやろうとしてることを正しく言葉にできない奴が正しいコードなんて書けるはずない。コードを和訳しただけのコメント書く奴は総じて無能。
  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと
  • クソコードに対する怒りとコードレビューにおける人格攻撃について | おそらくはそれさえも平凡な日々

    デキるプログラマだけが知っているコードレビュー7つの秘訣 7つの秘訣の1〜5は当にそのとおりだと思います。 「怒り」って言葉を使っているところはなかなか画期的だと感じた。というのも僕は前から「人格攻撃に思われて」しまうような、コードで人を殴るようなことをしてしまう人が出てきてしまうのは何故かということを考えた時に、そこには「コードに対する怒り」があるからだろうなと思っていたからである。怒りがあるからこそ強く指摘しすぎてしまうことが起こりうる。 「怒り」というのはつまり「感情」である。であれば、「その『怒り』はコードに向けられたものであり、書いた人に対してのものではないので、その人に対しての攻撃ではない」というのは、理屈ではかろうじて通るかもしれないが、書いた人の「感情」的には通らないこともあることは理解したほうが良いと思う。 じゃあ怒らなければ良い、という話にはしたくなくて、どうしても怒

    クソコードに対する怒りとコードレビューにおける人格攻撃について | おそらくはそれさえも平凡な日々
  • ソースコードの質:気難しいプログラマ:エンジニアライフ

    近年、ハードウェアの性能向上などにより、IT業界をめぐるインフラは、ようやく市場の要求に耐えうるようになってきた。以前はプラットフォームの陳腐化によって5年と持たなかったソフトウェアの平均寿命は、ここへきて徐々に延びつつある。 このような状況の中でソフトウェアに求められるものは、繰り返し行われる機能追加に耐えうる「拡張性」と、長期に渡って品質を保てる「保守性」だ。これらの課題については、クラウドのような分散コンピューティング技術や、オブジェクト指向デザインのような設計思想といった大きな枠組みの中で数多く議論され、ソフトウェア技術の進歩を押し上げてきた。「実際の現場においてこれらの課題をインプリメントするのは、システム設計者やSEといった上流工程を任された人間の役目である」と一般に言われている。 彼らのアウトプットは、基的に文書(Document)だ。文書は日語や図から構成されており、読

    ソースコードの質:気難しいプログラマ:エンジニアライフ
  • 1