5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
受講生さんの投稿
(投稿ID: 4798) 添付ファイルのダウンロード権限がありません
小川先生
お世話になっております。
hiroと申します。
コメント欄を拝見し、
他の受講生の方のレベルの高さに大変驚いておりますが、
伝票作成の宿題を作成致しましたので、
ご確認の程宜しくお願い致します。
個人的には変数の名前の付け方が気に入っておりません。
宜しくお願い致します。
小川 慶一さんのコメント
(コメントID: 6717)
こんにちは。
以下に添削を返送します。参考にしてください。
> コメント欄を拝見し、
> 他の受講生の方のレベルの高さに大変驚いておりますが、
> 伝票作成の宿題を作成致しましたので、
> ご確認の程宜しくお願い致します。
いえいえ。かなりきれいにマクロを書けていると思います。
ひきつづき、学習お楽しみください☆
受講生さんのコメント
(コメントID: 6730) 添付ファイルのダウンロード権限がありません
お世話になっております。
hiroと申します。
伝票作成宿題の件、
添削頂きありがとうございました。
・変数をハンガリアン記法で記述
・autofillで連番を振る
・変数をモジュールレベル変数にまとめる
・並べ替えの対象がデータ数に関わらず動作するようにする
これらご指摘頂いた内容をもとに、
再度、作成致しましたので
ご確認の程宜しくお願い致します。
小川 慶一さんのコメント
(コメントID: 6732)
おはようございます。
添削を返送します。
ひきつづき、学習お楽しみください (^^
受講生さんのコメント
(コメントID: 6752) 添付ファイルのダウンロード権限がありません
お世話になっております。
hiroと申します。
添削頂いてから時間が経過してしまい、
大変申し訳ございませんでした。
ご指摘頂いたモジュールレベル変数で、
列を宣言する方法、大変勉強になりました。
また前回、ナンバーを並べ替えるプロシージャの
最後の部分にナンバーを消す処理を書いておりましたが、
ご指摘頂いたプロシージャを分けることでとても見やすくなったと感じております。
一つお伺いしたいのですが、
最終行を取得する変数をいろいろなプロシージャで宣言してしまいましたが、これらは混同しない用、同じ変数名を使用することは避けた方が宜しいでしょうか。
ご教示の程、宜しくお願い致します。
小川 慶一さんのコメント
(コメントID: 6754)
お返事ありがとうございます。
>ご指摘頂いたモジュールレベル変数で、
>列を宣言する方法、大変勉強になりました。
>また前回、ナンバーを並べ替えるプロシージャの
>最後の部分にナンバーを消す処理を書いておりましたが、
>ご指摘頂いたプロシージャを分けることでとても見やすくなったと感じております。
「書いてみて、添削を受けて」というのは、上達の近道のひとつですね。
>一つお伺いしたいのですが、
>最終行を取得する変数をいろいろなプロシージャで宣言してしまいましたが、これらは混同しない用、同じ変数名を使用することは避けた方が宜しいでしょうか。
>
>ご教示の程、宜しくお願い致します。
「混同しないように」ということでしたら、別の変数名にするほうが無難です。
ですが、「自分は混同する心配はない」ということでしたら、同一の変数名にしたほうが良いかと思います。
以下に補足します。
まず、原則を書くと:
[1] プロシージャ内でしか利用しない変数については、他のプロシージャ内で宣言する場合も同一の名称でかまいません。
[2] 一方、同一の目的で利用する変数だからといって、「モジュールレベル変数をひとつ宣言して使い回す」というのは好ましくありません。
というところです。
上記については十分にご理解いただいているという前提で、回答します。
[1]のとおりなので、同じ変数名を使用することには問題ありません。というか、慣れてきたら、むしろそのほうが良いかと思います。
たとえば、「表の最終行の行番号を格納する変数はいつも cMx とする」等のパターンを作ってしまったほうが、生産性はあがります。
講座内で、あるいは演習で、僕が極力(たとえ別プロシージャに宣言する変数であっても)違う名前にしようとしているのは、(特に、導入編-基礎編初期のレベルの方ですと)「どこで宣言したどの変数がどこまでどう効いているのか?」ということを把握する力が未熟なため、「同一名の変数をあちこちで宣言していると、それだけで講座受講中に頭がクラクラして挫折してしまう」というケースがまま見られたからです。
(これは、その方のもともとの記号認知能力の問題でなく、慣れの問題です。僕自身、python等の別言語を学習するとき、初期には、サンプルコード内で同一名の変数やあるいは文字列が様々な箇所で登場するコードを読み解くにはかなり苦労しました)
ということで...。
再度結論を書くと、
・「混同しないように」ということでしたら、別の変数名にするほうが無難
・「自分は混同する心配はない」ということでしたら、同一の変数名にしたほうが良い
というところです。