basyura's blog

あしたになったらほんきだす。

ie-tab 購入

Chrome の ie-tab プラグイン。使ってるのは vivaldi だけど。便利なので購入。 以下2つの機能を使えるようにしたかったとも言える。

  • cookie の共有
  • ie-tab のアドレスバーを表示しない

のだったが、肝心の cookie の共有の挙動がよくわからん。別プロセスでも認識してくれるのかと思ってたらそうでもない。相変わらず都度ログインしないといけない。クソめんどい。

ActivX な社内サイトをどうしてもつかわないといけないので仕方がない。

iPad の SplitView

便利といえば便利だけど、特にブラウザとかちょっと調べるために切り替えると splitview していた Youtube の再生が止まってしまうのがなぁ。ブラウザを slideover にしといて随時検索かけて調べるということも可能ではあるが、いちいち画面を触って表示させてって無駄な動き出し。

iPad じゃなくて mac 使えよと言われればそうなのだけど、iPad で文字入力してる方が捗る感じがあるのはなんでかなぁ。キーボードかなぁ。ブラウザ開いて twitter 開くとかが気楽にできないので集中できるから?macbook pro がちょっと重いから?重いのは原因ありそう。膝の上に置くと今の時期は冷えるしね。ちゃんとした机と椅子を用意すれば良い?

iPad を仕事で使うとしたら、メールを読み書きするとか資料を見るとか Excel 使うとかであれば十分にできそうと思ったけど以前に入れた Excel アプリを起動したら編集したかったら office 365 のサブスクリプションでログインしろとでたので未検証。どちらにしろ外付けキーボードを使えばさらに快適そう。

でもやっぱり文章を書く以外の資料を作るとかその他の何かを作るのは大変そうだ。

iPad Pro 10inch だから入力が気持ち良いのか?

「iPhone も 120Hz になってほしい」というところから。

iPad Pro 10inch に Apple Wireless Keyboard をつないで文章を書いていると入力が気持ちよい。これは SmartCover が打ちにくいからであって、通常のキーボードをつなげたら打ちやすいの気持ち良いのだと思っていたのだけど、実は iPad Pro が ??Hz で描画するようになったからだったりするのだろうか。

現に、会社でも Apple Wireless Keyboard をつないで入力しているのだけど、若干引っかかるような感じが気になってきていた。これは Windows 10 とググる IME によるもので、さらにリモートデスクトップを使っているからと思っていたのだけど、ネットワークの距離を無視できる程度には太い回線と近さで使っていても感じるようになってきたのでリフレッシュレートがかんけいあるのかなもしれないと思い始めたのであった。 ほんとのところは分からん。今度は Bear アプリが同一行に半角英数が無いと行が上下に揺れるのが気になってきたわ。終わりが見えない。

Apple iPad Pro 10.5インチ Wi-Fi 256GB MPF02J/A [シルバー]

Apple iPad Pro 10.5インチ Wi-Fi 256GB MPF02J/A [シルバー]

Apple Wireless Keyboard (JIS) MC184J/B

Apple Wireless Keyboard (JIS) MC184J/B

VisualStudio - コードメトリクスで保守容易性指数を見る

Microsoft Visual Studio Professional 2012 通常版

Microsoft Visual Studio Professional 2012 通常版

ソースレビューをしているとパッと見で感覚的にココはまずそうというのが分かってくる。分かるというかピンとくる。で、よくよく見るとやっぱりまずい (だいたい)。パターンはだいたい一緒だったりする。

  • 一つのメソッドが長い
  • if 文のネストがひどい
  • 変数名がやたら長い
  • やたら linq が複雑でループしまくる
  • 辞書とリストをこねくり回してる

パッと浮かぶのはそのあたりだけど他にも色々。レビューのたびに毎回指摘するのは流石にだるくなってきたので数値で出したいと思い立つ (遅い)。

いくつかツールを試して見たのだけど、手軽かつ分かりやすい Visual Studio のコードメトリクス計算で出力される保守容易性指数を使うことにした。

https://msdn.microsoft.com/ja-jp/library/bb385914(v=vs.110).aspx
保守容易性指数
コードの相対的な保守容易性を表す、0 ~ 100 のインデックス値を算出します。 値が大きいほど、保守容易性が優れていることを示します。 色分けしたコード評価を使用して、コード内の問題部分をすばやく識別することができます。 緑色の評価は 20 ~ 100 の範囲にあることを示し、コードの保守容易性が良好であることを示します。 黄色の評価は 10 ~ 19 の範囲にあることを示し、コードの保守容易性が中程度であることを示します。 赤の評価は 0 ~ 9 の範囲にあることを示し、保守容易性が低いことを示します。

実際にこの辺りの数値をどう算出しているかは ↓ のエントリにあったりするけど、なるほど分からん。

.NETでコード メトリックスを試してみる 第4回 - A certain engineer “COMPLEX”
保守容易性指数は、サイクロマティック複雑度とコード行とHalstead Volumeなる指標に基づいた値のようです。 - .NETでコード メトリックスを試してみる 第4回

気にせず結果だけ使うことにする。

実際に出力された数値とコードを見てみると MS の定義?より厳しくなるのだけど以下の感じでだいたい自分の感覚と一致する。

  • 20 以下はアウト
  • 21 〜 30 は改善が必要
  • 31 〜 は良好

プロジェクトの開始時点にこの数値をクリアする縛りを入れておけば良かったなとちょっと後悔中。話が途中で上がってたけどなんとなく消えてしまった。ただ、現プロジェクトを解析してみると 20 以下は数えるほどなのでセーフ。でも一桁がちらほらあって・・・やっぱり中身を見るとアレなので辛い。そこがけっきょく全体のネックになってたりするからさらに辛い。

チームメンバーも数値を見て自信を持ったり凹んだりして、”ようやく” 読みやすいコードを書くように心がける空気が出てきたたから・・・まぁよしとする。結局、書いたコードが障害などの辛さで跳ね返って来るまで分からないのが辛み。散々言ってきたのになぁとは思うけどぐグッとこらえて前に。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/06/23
  • メディア: 単行本(ソフトカバー)
  • 購入: 68人 クリック: 1,802回
  • この商品を含むブログ (138件) を見る

cVim - Redmine のアドレスを登録しておくと便利

「チケット何番?」ブラウザのアドレスバーにフォーカスをあてて「(番号入力) カタカタターン」で対象のチケットを開くことがよくある。同じようによくあるのが「(番号入力) カタカタ・・・初めてみるチケットだ (歴にない)」で開けず Redmine のページを開くか適当な履歴から番号を変更して対象のチケットを開くパターン。

どちらにしても cVim でショートカットに Redmine のアドレスを登録しておくと便利。

map <C-s> :tabnew http://www.redmine.org/issues/

こう↑しておくと、こう↓できる。

f:id:basyura:20180204193949p:plain

f:id:basyura:20180204193951p:plain

  • チケット番号入力ですぐに飛べる
  • ブランクを入れてキーワードを入力すれば履歴から絞りこめる

便利。

Vivaldi (Red Classics)

Vivaldi (Red Classics)

Markdown エディタ

  • 編集時のみ vim モード標準搭載


  • vim モード標準搭載 (編集時とプレビュー両方)
  • アウトライン表示
  • UI は荒削りでまだまだこれから



会社でローカル運用している evernote からどれかに乗り換えたいなと思いつつ物色。evernote がいいのかと言われると積極的な理由は無く、タダで使えてなんとなく慣れてるからぐらい。でも既にゴミ箱みたいになっている。必要なことは wiki や redmine のチケットに転記しちゃうので転記前の一時メモにとどまる。なので転記後は要らなくなるけど消さずに念のためにアーカイブ用のノートに移動して終りとなる。ゴミのまま見返すことは少ない。ただ検索機能が便利だったりするので事務処理関連とか主に開発とは関係ない方でたまに役に立つ。evernote は長らく目立ったアップデートが無く、地道に改善していってる感じはするけど地味すぎて期待感が薄すぎる。あれこれ手を出しすぎてコードがこんがらがっちゃってやるにしても作り直すレベルなのかなぁ。

エディタとしても UI としても洗練されているのは inkdrop だと思う。ただ、vnote ではプレビューでも vim キーバインドが使えるのがでかく、アウトラインが表示されているのも良い。結局書いた内容を見直すためにはページ内の移動 (スクロール) が必要になるのだけど、これが気軽にできると可読性が上がる。さらに hit a hint ができると便利なのに・・・とかなるのだけど、それはもう wiki + ブラウザでいいじゃん?となってくるので線引が難しい。結局のところ wiki + ブラウザでいいのだけど、もっと気楽にメモを書きたい場合にどうするかになる。じゃあ evernote でもいいじゃんとなってしまって結局現状維持なのであって。inkdrop が気になるけど、文章を書く際は Bear がとても気に入っていて、これを置き換えられる程ではない。Bear の方にお金払っちゃってるし。とはいえ、デモ用アプリでだいたいの動作ができるので、気になる方は↓から。

いつまでエディタ探ししてんのっていう気がしないでもないけど、探すのが楽しかったりするんだよね。