BT

JetBrainsがIntelliJ IDEA 2016.1をリリース

| 作者: Abraham Marín Pérez フォローする 8 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2016年4月25日. 推定読書時間: 3 分 |

原文(投稿日:2016/04/13)へのリンク

JetBrainsは,同社の人気製品であるIDEの最新バージョンとなるIntelliJ IDEA 2016.1をリリースした。このバージョンでは多言語開発者が想定されているらしく,多くの言語やテクノロジを対象としたさまざまな拡張が実施された。しかし,最も注目すべき拡張の対象はやはりJavaで,特にJava 8をフル活用するための支援が目標とされている。

まず最初に注目すべき点はバージョン番号だ。JetBrainsでは,すべての自社製品のバージョニング方式を変更中である。通常のセマンティックバージョニング(APIのバージョンに向いている)は使用していないが,従来よりも意味のあるフォーマットになっている。新しいバージョニング方式は2つの項目 — 公開年と,年内の順序数で構成される。変更の主な目的としては,メジャーリリース対マイナーリリースという考え方を廃して全リリースを前回リリースからの同等なインクリメントとして扱うこと,製品間のバージョンに整合性を持たせること,などが挙げられる。例えばバージョン2016.2のIntelliJ IDEAは,WebStorm 2016.2と同等の新機能を備える,という意味になる。

バージョン番号以上に,IntelliJ IDEA 2016.1を使用するJavaプログラマが最初に毎日経験することは,新たなインスペクションが追加されたことによる警告数の増加だろう。例えばOptionalというコンセプトは,Java 8以前はGoogle Guavaを使用することで可能になるものだったが,ネイティブなJava構造として追加されたことによって,一般的に利用されるようになったという経緯がある。比較的新しい概念であることから,最初にisPresent()によるチェックをしないでget()をコールしたり(NoSuchElementExeptionを被ることになる),あるいは配列やコレクションにOptionalを用いたり(空の配列やコレクションを用いた方が,定型的なコードを必要とせずに同じ概念を表現できる)といった,アンチパターンに陥るプログラマも多い。今回のIntelliJ IDEAでは,これらのシナリオすべてに対してインスペクションを行なえるようになった。

GuavaのOptionalは現在でも多くのコードベースで使用されているため,インスペクションでは,プログラマがどちらのタイプのOptionalを使用しているかをチェックする。ただし,IntelliJ IDEAがGuavaのOptionalのインスタンスを検出した場合には,別のインスペクションがJavaネイティブ版にマイグレートするチャンスとしてフラグを立てる。この処理パターンが成功すれば,同様のインスペクションを追加することで,同じような移行をプログラマに促すことができる可能性がある。例えば,現在よく使われているJodaTimeについて作者自身が推奨しているような,Java 8の新しい日付時刻ライブラリへの移行などだ。

最新バージョンの恩恵を受けられるのはJava言語だけではない。Kotlin 1.0がデフォルトでサポートされた,Scalaのコード補完が改良されてプロパティ名のサジェスチョンが可能になった,デバッグ時のWatch変数のセットアップにGroovyが使用できるようになった,JavaScriptにES6およびTypeScript 1.8のサポートが含まれた,などの改良点もある。さらにIntelliJ IDEA 2016.1では,Spring FrameworkとThymeleafのコーディング支援,Android用のメモリリークアクティビティのプロファイラ,Docker用の新プラグインなど,その他のテクノロジについてもサポートの改善が図られている。

新リリースにはよくあることだが,ユーザによる初期トラブルの報告が,特にSpring Framework関係で寄せられている。それでもJetBrainのブログや,あるいはRedditHacker Newsなどのサイトでの同社の対応を見る限り,問題の大部分は迅速に対処されているようだ。

 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT