タグ

styleとprogrammingに関するkiyo_hikoのブックマーク (6)

  • ヨーダ記法 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2016年8月) ヨーダ記法(ヨーダきほう、Yoda notation)またはヨーダ条件式(ヨーダじょうけんしき、Yoda conditions)とは、プログラミングにおけるジャーゴンのひとつで、If文などの条件式において比較するふたつの要素を一般的な順序と逆に記述するプログラミングスタイルをいう。ヨーダ記法では条件式の左辺(比較演算子の左オペランド)に定数を配置する。 映画『スター・ウォーズ』シリーズの登場人物・ヨーダが、標準的ではない英語の文法で話すことに由来する。 ヨーダ記法はWordPress[1][2]やSymfony[3]のPHPコーディング標準の一部に採用されている。一方、CakePHPのコーディ

    kiyo_hiko
    kiyo_hiko 2018/10/30
    ヨーダ条件式って呼び方かっこいい
  • ヨーダ記法とは|定数を左辺に記述するメリットと流行らない理由

    ヨーダ記法の例 if (0 > less); if (-1 != state); if (UTF8 == enco); if (this == *obj); if ("Bob" == name); if (NotFound != find()); if (false === this.isapen()); while (null != (line = read())); if (Destroy == willOfForce(we)) free(sith); return '\n' == ch || '\r' == ch; return Strong == vader->force; return E == m * pow(c, 2); assert(Blue == sky); ヨーダ記法のそれは要するに「B は A である」という文であり、日常生活でよく使われる「A は B である」とは大

    kiyo_hiko
    kiyo_hiko 2018/10/30
    ヨーダ記法という名前を知った。この記法と、この記法に何ひとつ疑問感じない人を心から憎んでいる。
  • プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!

    プログラミング技術さえ身に付けば、プログラマとして一人前と言えるでしょうか? プログラミングを始めたばかりのうちは、プログラミング言語の習得や周辺の知識を得ることばかりに目がいきがちですが、それだけでは一流のプログラマになれません。(プログラミング言語を学びたいならこちら:写経で身につけるプログラミングの基) プログラマとして成長するためには、プログラミング技術を学ぶだけではなく、良いソフトウェアを作るための良い習慣を身に付けることが大事になります。初心者のうちに良い習慣を身につけておけば、ただ知識を追い求めるのではなく地に足をつけた成長ができるはずです。 記事では、私自身も先人たちから学んだプログラマが身につけたい3つの習慣について書いています。 自分で書いたすべてのコードを説明できるようになろう プログラミングは全て、明確な判断の結果です。if文を使うべきかどうか、どのAPIを使う

    プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!
    kiyo_hiko
    kiyo_hiko 2012/04/06
    TODOは未だにやってない コードを説明できるようにしよう、というのは絶対だと思う。コメントも説明できるとなおいい感じ。DRYを心がけるとコメントはJavadoc/DoxygenなどAPIとTODO、変態的処理部分ぐらいになると思うので
  • 「変数名について」(1) Insider.NET - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    kiyo_hiko
    kiyo_hiko 2012/03/09
    PreparedStatement psみたいにI/FやClassのイニシャリズムを変数名にするのは良いプラクティスだと思うが、ハンガリアンは嫌い 矛盾してるような気がしなくもない → イニシャリズムは他意が無いしメタ構文変数みたいなもんか
  • API Design is UI for Developers

    I've been thinking a lot about APIs and their design recently. I stumbled on this fantastic quote from Greg Parker: A programming language is a user interface for developers. Language authors should learn from HCI principles. — Greg Parker (@gparker) February 22, 2012 When I first started learning C++ (back in the bad old days) I was convinced that any 1st year student could design a better progra

    API Design is UI for Developers
    kiyo_hiko
    kiyo_hiko 2012/03/05
    「Documentation - This is possibly the most important area.」「Feedback - Your API sucks. Accept that.」
  • 無限ループ - Wikipedia

    無限ループ(むげんループ)は、コンピュータ・プログラム等の一連の手続き等が無限に繰り返される(ループする)ことである。永久ループ(えいきゅうループ)ともいう。 専門用語としての他、刺激的に感じられる他の用語(例えばメモリリーク)と同様に、不正確な通俗的な使い方もされている(「日常会話での使用」を参照)。専門的な意味としての無限ループは、通常プログラマが原因を突き止めることができる、と簡単に考える者もいる[要出典]ようだが、実際のところそうではないこともある(#無限ループの検出)。 理論的には、すなわち、計算理論と呼ばれている分野の観点からすれば、なにかについてそれが「計算可能である」とするには、無限ループになりえないことが必要である。しかし、現実のプログラムが対象とするものは必ずしも、理論がいう「計算可能」なものとは限らないし、時にはバグなどによって、決して終了することのない無限ループが発

    kiyo_hiko
    kiyo_hiko 2011/12/21
    ちょっと思いついたのでメモ / forなんかだと、C/C++は「#define _ =」「for (;_;) {...}」がどこかにあったと思うが、Perlなら、「for (;'ω';) {...}」・・・こんな感じでどうだろう。ちんぽっぽが泣いているように見えないだろうか
  • 1