SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Curl統合開発環境「CDE」 ~開発入門編~(AD)

Curl統合開発環境「CDE」 ~開発入門編~
インストール方法と最新バージョンの機能を紹介

  • このエントリーをはてなブックマークに追加

CDE最新版の主な機能について

 ここからはCDEの新機能の概要を、従来のクラシックIDEと比較しながら紹介します。

ソースコード編集

 今バージョンから、新たに内部コンポーネントCPA(Curl Program Analyzer)が導入されました。このコンポーネントは、その名前の示す通り、Curlのソースコードの文法的・意味的解析を動的に行うことができます。

 その結果を利用することにより、開発者にとって以下のような便利な機能が実現されています。

エラー、警告関連

 CPAによるエラー関係の機能拡張は以下のようなものがあります。

コーディング時にリアルタイムでエラーを検出・表示

 従来のように、エラー検出のためにアプレットを実行する必要がありません。

 加えて、RTEと異なりCPAは実行可能なコードを生成する必要がないため、たとえエラーを検知しても解析を続け、1度により多くのエラーを報告してくれます。

 つまりクラシックIDEなどで起こり得た「アプレット実行」→「エラー発生」→「修正後、再度実行」→「別の場所で前回検出されなかった別エラー発生」などの煩わしい作業を繰り返す必要はかなり減少するということです(残念ながら、any型がらみなどで実行時にしか検出できないエラーもあります)。

エラー検出・表示
エラー検出・表示

エラーの発生箇所が追いやすい

 エラーがある行には、エディタ左のルーラーに×印のアイコンがアノテーションとして示されます。

 同様に右のルーラーには赤いマーカーとして示され、編集中のファイル上で発生しているエラー箇所が一目で分かるようになっています。さらに、発生箇所自体もより正確に示されます。

クラシックIDE:発生箇所最初の行、およびカラム
クラシックIDE:発生箇所最初の行、およびカラム
CDE:上記に加え、エラーの終了位置
CDE:上記に加え、エラーの終了位置

 CDEでは赤い波線により、より正確にエラー箇所が提示されていることが分かります。

警告を表示

 エラーではないものの、開発者に注意を促したい実装には警告が表示されます。警告にはオプション警告と非オプション警告があり、デフォルトではオプション警告はすべてオフになっています。

 以下に一例を示します。

  • 非オプション警告
  •  deprecated(非推奨)の定義の使用、同一ファイルの複数回includeなど

  • オプション警告
  •  ローカル変数の未使用、不要なキャスト、メソッドのオーバーライド保証など

 これらのオン/オフは、compiler-directivesのように自分で指定することが可能です(後述)。なお、前述の2項目は警告についても同様です(アイコンや色は異なります)。

警告表示(例は同一ファイル複数回include)
警告表示(例は同一ファイル複数回include)
オプション警告の表示設定1(cpa-detect-unlocalized-string?=trueによりローカライズされていない文字列に対して警告が出る)
オプション警告の表示設定1(cpa-detect-unlocalized-string?=trueによりローカライズされていない文字列に対して警告が出る)
オプション警告の表示設定2(1を指定した結果、警告がこのように表示される)
オプション警告の表示設定2(1を指定した結果、警告がこのように表示される)

エラーや警告の制御が可能

 マニフェスト宣言やパッケージ宣言に引数を渡すことにより、警告の制御が可能です。詳細は、Curl開発ユーザーガイド([Help]-[Help Contents]より起動)の[概念]-[Curlプログラムアナライザ]を参照ください。

 さらにpragmaマクロを使用すれば、エラーの抑制などCDEの挙動を変更できます。こちらは[Help]-[Curl IDEドキュメント]よりpragmaのページを参照ください。

pragmaによる表示制御、suppress UnlocalizedStringにより未ローカライズ文字列の警告が出ていない(前ページの続き、cpa-detect-unlocalized-string?=trueが設定されている状態)。
pragmaによる表示制御、suppress UnlocalizedStringにより未ローカライズ文字列の警告が出ていない(前ページの続き、cpa-detect-unlocalized-string?=trueが設定されている状態)。

次のページ
コンテンツアシスト

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

菅原 洋介(スガハラ ヨウスケ)

2003年、住商情報システム株式会社に入社後Curlビジネスに携わり、多数の基幹系業務システムの 開発を担当、その後2007年には、米Curl社(マサチューセッツ)にてCurl Core RTEの設計・開発 に従事。現在は、Curlプロダクトの開発・メンテナンスを行っている。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5265 2010/06/28 15:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング