Enviar búsqueda
Cargar
より良いコードを書くための
•
Descargar como PPTX, PDF
•
2 recomendaciones
•
1,808 vistas
T
TATSUYA HAYAMIZU
Seguir
Tecnología
Noticias y política
Denunciar
Compartir
Denunciar
Compartir
1 de 11
Descargar ahora
Recomendados
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
どこに何を書くのか?
どこに何を書くのか?
pospome
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
静的解析、しましょうか。
静的解析、しましょうか。
Daichi Hiroki
C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunk
ikegami__
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
Recomendados
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
どこに何を書くのか?
どこに何を書くのか?
pospome
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
静的解析、しましょうか。
静的解析、しましょうか。
Daichi Hiroki
C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunk
ikegami__
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Moriharu Ohzu
デザインパターンを用いたリファクタリング
デザインパターンを用いたリファクタリング
kei takakuda
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
kinunori
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
Kazuhiko Kato
VAEで遊んでみる
VAEで遊んでみる
超史 宮崎
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
Rx class
Rx class
Yuujirou Itou
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Ryohei Kamiya
Ldd13 present
Ldd13 present
Masashi Kayahara
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
シナリオレビューという手法の提案
シナリオレビューという手法の提案
tuna cook
コーディング入門以前
コーディング入門以前
Yutaka Kinjyo
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
[DL Hacks] code_representation
[DL Hacks] code_representation
Deep Learning JP
Boost.Spirit.QiとLLVM APIで遊ぼう
Boost.Spirit.QiとLLVM APIで遊ぼう
nvsofts
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会 Vol.65 electron入門
わんくま同盟大阪勉強会 Vol.65 electron入門
TATSUYA HAYAMIZU
Más contenido relacionado
Similar a より良いコードを書くための
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Moriharu Ohzu
デザインパターンを用いたリファクタリング
デザインパターンを用いたリファクタリング
kei takakuda
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
kinunori
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
Kazuhiko Kato
VAEで遊んでみる
VAEで遊んでみる
超史 宮崎
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
Rx class
Rx class
Yuujirou Itou
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Ryohei Kamiya
Ldd13 present
Ldd13 present
Masashi Kayahara
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
シナリオレビューという手法の提案
シナリオレビューという手法の提案
tuna cook
コーディング入門以前
コーディング入門以前
Yutaka Kinjyo
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
[DL Hacks] code_representation
[DL Hacks] code_representation
Deep Learning JP
Boost.Spirit.QiとLLVM APIで遊ぼう
Boost.Spirit.QiとLLVM APIで遊ぼう
nvsofts
Similar a より良いコードを書くための
(20)
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
デザインパターンを用いたリファクタリング
デザインパターンを用いたリファクタリング
Async deepdive before de:code
Async deepdive before de:code
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
VAEで遊んでみる
VAEで遊んでみる
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rx class
Rx class
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Ldd13 present
Ldd13 present
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
シナリオレビューという手法の提案
シナリオレビューという手法の提案
コーディング入門以前
コーディング入門以前
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
[DL Hacks] code_representation
[DL Hacks] code_representation
Boost.Spirit.QiとLLVM APIで遊ぼう
Boost.Spirit.QiとLLVM APIで遊ぼう
Más de TATSUYA HAYAMIZU
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会 Vol.65 electron入門
わんくま同盟大阪勉強会 Vol.65 electron入門
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会 Vol.68 LT - ラブライブ!サンシャイン!聖地巡礼に入った話
わんくま同盟大阪勉強会 Vol.68 LT - ラブライブ!サンシャイン!聖地巡礼に入った話
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
TATSUYA HAYAMIZU
わんくま大阪勉強会 Vol.65 LT 翻訳で貢献
わんくま大阪勉強会 Vol.65 LT 翻訳で貢献
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
TATSUYA HAYAMIZU
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
TATSUYA HAYAMIZU
20131123 playgroundハッカソン
20131123 playgroundハッカソン
TATSUYA HAYAMIZU
Visual studioによるビルドプロセスの自動化
Visual studioによるビルドプロセスの自動化
TATSUYA HAYAMIZU
Metro style ハッカソンに参加してきた
Metro style ハッカソンに参加してきた
TATSUYA HAYAMIZU
ゲームノシクミ
ゲームノシクミ
TATSUYA HAYAMIZU
Más de TATSUYA HAYAMIZU
(11)
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
コンピュータの舞台裏 Vol.08 - 身近な事例からひも解く人工知能
わんくま同盟大阪勉強会 Vol.65 electron入門
わんくま同盟大阪勉強会 Vol.65 electron入門
わんくま同盟大阪勉強会 Vol.68 LT - ラブライブ!サンシャイン!聖地巡礼に入った話
わんくま同盟大阪勉強会 Vol.68 LT - ラブライブ!サンシャイン!聖地巡礼に入った話
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま大阪勉強会 Vol.65 LT 翻訳で貢献
わんくま大阪勉強会 Vol.65 LT 翻訳で貢献
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
20131123 playgroundハッカソン
20131123 playgroundハッカソン
Visual studioによるビルドプロセスの自動化
Visual studioによるビルドプロセスの自動化
Metro style ハッカソンに参加してきた
Metro style ハッカソンに参加してきた
ゲームノシクミ
ゲームノシクミ
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Último
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
より良いコードを書くための
1.
より良いコードを書くための静的コード解析入門 Presented by
CREST
2.
自己紹介 プログラマー@NEET CREST’s
Weblog(d.hatena.ne.jp/Crest) の管理人 Twitterやってます。 @thayamizu 趣味 プログラミングとか逆アセとか、写真撮影とか、絵を描いたりカラオケしたり、博物館に行ったりとか
3.
静的コード解析とは 静的コード解析ってなんぞや? 実行ファイルを実行せずにコード解析を行う
人間がやると、インスペクションとかコードレビューと呼ばれる ソースコードに対して行われることが多い、ただし少数ながらオブジェクトコードに対して行う場合もある
4.
静的コード解析の手法 数学的手法 表示的意味論
公理的意味論 操作的意味論 形式的手法 モデル検査 抽象解釈
5.
静的コード解析のツール C/C++ Lint
BLAST Cppcheck C++test JAVA Checkstyle Bugfound C# Fortify SCA Visual Studio (Team Edition 以上)
6.
cppcheckの紹介 C++用の静的コード解析ツール オープンソースなので、導入が簡単
日本語マニュアルがあるので、とっつきやすい 検出できるもの メモリリーク バッファオーバーラン 初期化されていなメンバ変数 関数の不正使用 不正なポインタ操作 virtual でないデストラクタ
7.
cppcheckの使い方 CUIプログラムなのでコマンドラインから実行するだけ 主要なコマンド
--enable =all …すべてのチェック項目を実行 -j num …num個のスレッドを使って並列実行 --xml …XML形式の出力 foobar> cppcheck path > result.txt
8.
cppcheckを使う(1) 配列の境界の検出 int
main() { char a[10]; a[10] = 0; return 0; }
9.
cppcheckを使う(2) メモリーリークの検出 int
main() { char *str=(char*)malloc(sizeof(char)*10); return 0; }
10.
cppcheckを使う(3) 初期化されていないメンバ変数の検出 class
CSample { public: CSample(void) { } void PrintInfo() { cout << value<<endl; } private: int value; //メンバ変数 };
11.
まとめ 静的コード解析ツールを使うと、プログラムの「よくない兆候を発見できる」 よくない兆候を早期に見つけることができれば、発生するバグの数を減らせてウマー
Descargar ahora