タグ

tipsとプログラムに関するysakmrkmのブックマーク (3)

  • Vim入門した - hitode909の日記

    例えば,ペアプロしていて,ちょっと打たせてくださいとか言って,エディタがVimで全然打てない,ということがよくあったので,最低限使えるようになろうと思った. チュートリアルを読んだ.以下,そのメモ. 起動 vim 起動 vim ファイル名 ファイルを指定して起動 vimtutor チュートリアルを開く ファイル読み書き :w ファイル名 指定したファイル名で保存 :r ファイル名 指定したファイルをカーソルの位置に挿入する(これ使うことあるんだろうか) 入力 i 入力 A 行末に移動して入力 o 下の行で挿入モードになる O 上の行で挿入モードになる a カーソルの次に挿入する モード ESC ノーマルモード i 挿入 v 選択 コピー,ペースト y コピー p ペースト d 切り取り カーソル移動系 hjkl 一文字移動 w 次の単語の先頭 e 次の単語の最後 $ 行末 C-g カーソル

    Vim入門した - hitode909の日記
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • プログラミングテクニックのまとめ - プログラミング日記

    とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損

    プログラミングテクニックのまとめ - プログラミング日記
  • 1