2017年9月ReSharperが指摘してくれるコードスタイルのあれこれReSharper(と同様のエンジンを内蔵しているRider)が指摘してくれるものにはいろいろな種類のものがあるのですがそのいくつかに関する考察。Initializerへの置き換え次のようなコードがあったとします。6});ReShaperは次のような置き換えを提案してきます。6}};これは確かに冗長になりがちなのでシンプルな書き換えにするのにはいい方法。Foreach文のLINQ式への置き換え時々出てくるパターンとしてリストの中を辿りつつ内容に対して処理を行うパターン。foreachで辿るようなパターン、例えば次のようなパターンがあったとします。item.value;}これは以下のように置き換えることを提案してきます。item.value);処理が複雑になると可読性が失われたり、デバッグが複雑になったりすることがあるのでその点は注意です。次のようなクラスがあったとします。v)をstatic化するように提案してきます。}}これはインスタンス化を行うとその分、要求されるメモリが増えるので、必要がないものにおいてはVM内で共有したほうがいい、ということですね。staticメソッドのインスタンス化はそのメンバを呼び出したタイミングで行われたり、ガーベジコレクションの挙動が普通とは異なってくるはず(というか、スコープから外れない場合は残存し続けるので、長期的に残り続ける挙動を示すはずです)のでその部分では注意が必要です。Packを購入したのでいろいろと。それぞれのツールに関していろいろと書いてみる。Riderまずいちばん使っているのがこのRider。2.0の機能を使いたいので、EAP版です。ちなみにRiderはUnityと組み合わせ使うことも可能です。Editorと組み合わせて使用する場合に便利です。StudioとResharperを組み合わせたものに近いです。Formなどのビジュアルエディターはありませんが......。Packに含まれています。プライベートではマルチプラットフォーム開発なので、あまり使う機会はなかったりしますが。Communityでもちゃんと動作します。)DataGrip次によく使うのがDataGripです。DataGripはデータベース用のIDEです。いろいろなデータベースをサポートしていて、SQL文を発行したり、内容を調べたりすることができます。GoglandGoglandはGoogleにより開発されている、Go用のIDEです。現在EAPで無料で使用できます。正式版では名前が変わるかも知れないようです。UltimateはJavaのIDEです。(正確にはJVMな言語は多くが対応しています。KotlinもJetBrainsが開発していますし、もちろん対応しています。Communityも存在します。これ一本でJavaのアプリ、Androidのアプリなどを開発したりできます。プラグインを通してGoやPythonなどの他の言語も開発することができるようですが、挙動など言語特化のIDEがより言語に特化した動作をするようになっているようです。個人的にはJavaはあまり使わないので、XSLTの編集などに使ったりする場合が多いです。ProfessionalはPythonのIDEです。Eduという教育目的に特化した特別版も存在します。PhpStormPhpStormはPHPのIDEです。新規にPHPは少なくとも自分で書くことは少ないのですが、レガシーなコードはあるのでその保守に使用しています。CLionCLionはC/C++のIDEです。Linux上で時々C/C++を扱ったりするので、その場合に活用しているツールです。RubyMineRubyMineはRubyのIDE。Rubyのコードは現在PHPよりも少ないのであまり出番はないですが......。MPSイマイチ使い方がよくわかっていないのが、このMPS。IDEというよりはメタ言語みたいなのですが......。Packは開発機材として個人的に買う場合は、そこまでは高くはないのですが(ビジネスとして買う場合はそれなりに高くなりますが......)それなりの額にはなりますが、今のところはその値打ちはあるように感じています。複数の言語を使う必要がある場合同じ使用感で複数の言語を扱えますので。本サイトの内容は個人的主観に基づくため、著者の関係者の意見とは異なる場合があります。そのため、内容に関して、お答えすることはできませんので、著者以外へのお問い合わせはご遠慮下さい。本サイトは日本国外に居住する著者より、日本国外から、地域を問わず日本語を解する人向けに公開される情報であり、その内容は必ずしも日本国内での事情に対応するものではない可能性がありますので、利用に関してはご留意ください。内容は執筆時の情報に基づくため、書かれている事実等が変化している場合があります。本サイトに表示される時間はUTCです。JapaneseはFirefoxをおすすめします。思い出ブログをメールで購読メールアドレスを記入して購読すれば、更新をメールで受信できます。WordPress%d人のブロガーが「いいね」をつけました。