プログラミング作法北海道大学.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
プログラミング作法 PRACTICE OF PROGRAMMING 8 ソフトウェア工学 Software Engineering 良いプログラムを作成するための経験的ノウハウが さまざまな作法としてまとめられている プログラミング作法とは プログラミングの細かな実践的ノウハウ ソフトウェア工学的な価値観 今回学ぶ内容: スタイル,テスト,デバッグ,移植性 【参考文献】 1) B. W. Kernighan, R. Pike: プログラミング作法, アスキー(2000) 2) D. Boswell, T. Foucher: リーダブルコード, オライリー(2012)   スタイル STYLE グローバル変数の名前はわかりやすく ■グローバル変数の宣言 int nusers = 0; // ユーザの人数 int n = 0; ローカル変数の名前は短めに ■ローカル変数 int theElementIndex; // 要素の添え字 for (theElementIndex = 0; theElementIndex < nusers; theElementIndex++) elementArray[theElementIndex] = theElementIndex; int i; for (i = 0; i < nusers; i++) elem[i] = i; 関数名の付け方は統一的に 副作用が主のもの: 作用を表す動詞             add(canvas, pic), print(str) 戻り値が主のもの: 戻り値の意味を表す名詞またはget+名詞   length(str), getTime(date) 真偽値を返すもの: 形容詞または is+名詞 even(n), isDigit(ch)     関 数 戻り値 環 境 (グローバル変数, 入出力など) 副作用 引 数 副作用 副作用: 戻り値を返す以外の作用 【統一的な命名規則の例】 グローバルデータにコメントを struct Nvtab { /* 名前(Name)と値(Value)の対応表 */ int nval; /* 値の現在の個数 */ int max; /* 割り当て済みの値の個数 */ Nameval *nameval; /* 名前ー値ペアの配列 */ } nvtab; int nusers = 0; // ユーザの人数 int 型より列挙型が良いことも typedef enum{INSERT, UPDATE, DELETE} Status ; Status status = UPDATE; void operate(Status status) { switch(status) { case INSERT: printf("登録します。"); break; case UPDATE: printf("更新します。"); break; case DELETE: printf("削除します。"); } } (enumeration type) 列挙型 変数の宣言と代入 enum型を定義し,適切な型名を付ける 仮引数での宣言 int型のように使える bool 型より列挙型が良いことも setBoxStyle(false, false, true); typedef enum{SOLID, DOTTED} LineType; typedef enum{SHARP, CURVED} Corner; typedef enum{TOP, BOTTOM} Place; void setBoxStyle (LineType t, Corner c, Place p){ . . . }; setBoxStyle(DOTTED, CURVED, TOP); 数値はマクロより定数で定義しよう #define WIDTH 80 #define HEIGHT 24 const int WIDTH = 80, HEIGHT = 24; マクロ: ソースコードの文字列を置き換える enum { WIDTH = 80, HEIGHT = 24 }; 定数: 値を変更できない変数

文档评论(0)

勤劳的小厮 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档