トピック
スー thanks_0u0

メンテナンス性について

一般的な、またはプチコンでの、メンテナンスや機能追加のしやすい書き方をご存知の方がいらっしゃいましたらぜひ教えていただきたく…(´・ω・`) 拙作のGRPエディタなのですが、アップデートが積み重なりなかなかの行数、機能数になってきています。 まだギリギリ記憶と検索を駆使して飛び回りアップデート作業が出来ていますが、改修が簡単に出来るに越したことはないので今後の書き方の参考になればと思い質問させていただきましたー。 よろしくお願いしますー(・u・)ノ
12そうだね
プレイ済み
返信[1]
親投稿
れい rei-nntnd
なるほど。 保守性が高いプチコン用エディタを開発することになるっていうネタフリのトピか。 なるほど。
7そうだね
プレイ済み
返信[2]
親投稿
DEFをつかっていますね まじっくすと~り~は相当なコード行数になっていますが 項目に応じてファイルを分け、基本部分(SLOT1)とDATA以外は ほぼ全てDEFにしています。 1ファイルはできるだけ15000行以下になるようにしています。 一般的かは分かりませんが参考に。
4そうだね
プレイ済み
返信[3]
親投稿
みむ*mim hidemimtp
とりあえずコメントは書きまくります。すぐ忘れるアホな自分の将来の手助けだと思って。。 プチコンに限らずかもしれませんが、DEFやサブルーチンは名前もラベルも分かりやすく。プチコンは基本コマンドがほとんどなので、存在しないけど汎用的なものは自作しつつ、動きのメインとなる部分に数式などが並ばないよう道筋(条件とDEF名など)だけを書く、などなど。 当たり前すぎて参考もなにもないですね(;´∀`) ネタフリに答えるべく、先日アップしたDEFとラベルを検索する自作ツールを「←+[SMILE]」で起動するようにしてからかなりラクチンに。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0gXEMh7Ww
6そうだね
プレイ済み
返信[4]
親投稿
スー thanks_0u0
なんてこった/(^o^)\ ネタフリは他の方にお任せします! やっぱりパーツ分けされたオブジェクト指向ライクな書き方が良いのでしょうか。BASICしか触ったことないので、DEFの中にDEFの中にDEF…みたいなことになるとたらい回しで「結局どこ見れば良いの?」ってなっちゃう(・д・) 他の方のプログラムだと最終的にDEFを呼ぶだけのDEFとかあったりして「一体なんの意味が…?」とか思ったりしてます。きっとオブジェクト指向に至った経緯というか思想というか、そういうものがあるのだろうとは思いますが。。。 かといって文章と同じように順番にずらーっと書くと長々しちゃうし。GRPエディタはアップデートが多い性質上、なるべく1ファイルの状態で配布したいのもあって更に長々。。。 DEFを検索したり出来るのは良さそうですね! まだまだ何かあればよろしくお願いしますー(・u・)
3そうだね
プレイ済み
返信[5]
親投稿
Ϊċăņ ďо įт hikahikaru3
長々と同じコードをC&Pで書くよりはDEF化しちゃうみたいな感じ??
1そうだね
未プレイ
返信[6]
親投稿
ツララ LongIceSword
要するに手直しを入れても一連の処理がちゃんと繋がった一本の糸みたくなっていればいいわけですよね? ロープ切断のマジックみたく、小さい輪を沢山作っておく構造にしておけばいいんじゃないです? 各々の小さい輪がDEF命令で作った個別命令やサブルーチンだとして それらをスキップしても本体の糸には影響が及ばないような 切ったらダメな部分と切っても大丈夫な部分を分りやすくすれば保守しやすいかも。 文章と同じ様に書く感じだと、説明が回りくどくなりそうな部分は専門用語に置き換えて文をスッキリさせて注釈で補足、みたいな感じですかね。
2そうだね
プレイ済み
返信[7]
親投稿
れい rei-nntnd
保守性の高さってもうずーっとソフトウェア産業で大きな課題なので、まぁネット探せばある程度の情報手に入るし、正しい答えがあるような問題でもないので… 雑談程度に聞き流して欲しいけども。 プチコンは変態で… 汎用でない代わりに、圧倒的に生産性が高い。 再利用できるライブラリを作るには名前空間が貧弱。 メモリは潤沢にあるくせに、配列アクセスは激遅。なのにpush/shiftは速い。 DEFがあるくせにGOSUBもON GOTOもある。そのくせエラー処理はない。 古い世界と新しい世界がぐちゃぐちゃなので 「現代的なプログラミング手法」をそのままは使えないかなぁと。 名前空間も限られてて配列アクセスも遅いのに、あまりオブジェクト指向にするのも無理がある。 ルーチンをDEFにまとめるのも引数の限界や名前空間の問題が付きまとう。
7そうだね
プレイ済み
返信[8]
親投稿
れい rei-nntnd
こんな変態ハードに最適化されたようなコーディングメソッドはない。 とすると自分の自分による自分のためのメンテナンス性をあげるなら 「自分ルールを確立する」 のが一番ではないかと。 この場合はこれ、この場合はこう、 そういうルールが明確になってるとメンテナンス時に楽になる。 他人に言われて途中でスタイル変えるとわからなくなる。 スタイルを変えるなら、一度全部見直してスタイルなおした方がいいかなぁ。
8そうだね
プレイ済み
返信[9]
親投稿
スー thanks_0u0
同じコードはなるべくサブルーチンにまとめてますー。DEFより少し速いらしいので(・u・) うーん、繋がった糸が良いと言うよりは、例えば、1頁毎に「巻末の注釈1を参照」とか、その注釈を読んでるときすら「注1」とか書いてあったら凄く読みにくく無いでしょうか。DEFだらけのプログラムを読んでるときはそんな感覚です。本だったら多分巻末注の頁だけ千切ってます(´=ω= ` ) やっぱりすぐに「これ!」ってなるような魔法の結論は無いですかー。プチコンの異質さも相まってネットの情報もイマイチ的を射ず。。。の前に専門用語や概念に理解を阻まれてしまいます(ノ´∀`*) でも自分ルールさえキチンとしていればそれが正解、って思えばそれはそれで楽なのかもですね( ´ ω ` ) 今の自分ルールは、ひたすらコメントを入れて日本語である程度流れが追えるようにする、です。かしこくない!
4そうだね
プレイ済み
返信[10]
親投稿
保守とかそういうのは第一種情報処理技術者試験(ちょっと前はソフト開発、今なんだっけ?)とかその辺めざすといろいろお勉強したりするけども、 実際問題そんなにうまくはいかず、現実は締め切り(開発期間と人数と納期)の戦いなので結局はプロジェクトメンバーがなんとかがんばってなんとかなるって感じなんですよね。 ゲームじゃないお仕事だと、これ作って欲しい→リリース→次はこれ作って欲しい→リリース、って感じな流れになるので、 次に作って欲しいのをうまい具合に聞き出したりして、それをふまえたモジュール設計をして作るって感じですね。 でもプチコンだとれいさんがいろいろ書いているとおり、主に名前空間の問題(変数全部がグローバルなので別モジュールで変数名がかぶる)でモジュール分割がかなり難しい感じなのです。
1そうだね
プレイ済み
返信[11]
親投稿
プチコンでモジュールをちゃんと設計しようとすると、構造体使えないからモジュール実行結果を構造体で返してって感じでのモジュール分割がかなり大変なんですよね。 編集画面も2画面分割できないので、変数定義部分やDEF定義先をみながら処理が追えなかったりするので、やっぱり大規模系はかなり自分なりの工夫が必要になる感じですね。 プチコンだと処理分岐用変数がこの値のときはこのルーチンを呼ぶ、ってのがあまりきれいに書けないのもあって、処理の流れもやっぱり独特の自分ルールって感じになっちゃいますね。 (switch-caseや関数テーブルが使えたら便利って思うけど、それっぽい書き方もできなくはない) なんだかんだで独特なプチコン+SmileBasicだからこそ、独特の管理方法をみんなで開拓していく感じかもです。
3そうだね
プレイ済み
返信[12]
親投稿
しんいち stgf1080
#お、ここにも素敵なトピが。 私の場合(って書き出しになるよね^^;)、あんまりちっちゃいモジュール(3行4行くらいの)がたくさんになっちゃうと流れ追うのめんどくさくなっちゃうので、そこそこのサイズ(1画面くらいかなぁ)でモジュールになってる方が見やすいかな(まぁ処理の都合に依るんですけどね)。ちっちゃいんなら別にモジュールにしなくてそこにそのまま書いちゃえ、って。 あと、プチコンは1画面で把握できる情報少なめ(プログラムの2箇所分割表示とかそのままではできない)なので、スペースとか改行、なるべくぎゅっと縮めるようにしてます。著しく見辛くならない程度に。プチコンの文字全角っぽいからぎゅっとしても意外と見やすいんですよね。 #ユーザ関数びっしりで白い文字だらけの #EDITモードの画面見ると途方に暮れる^^; #でも細かいDEFたくさんあると、なんか #おしゃれにみえる(なんだそれ?)
2そうだね
プレイ済み
返信[13]
親投稿
ナルミンチョ naru_starfy28
メインの処理でもDEFを使う。 OPTION STRICTを使う。 GOTOとGOSUBは使わない。 必ずループと時間待ちは1か所で行う。 モード切り替えや状態の保持にはグローバル変数を使う。 DEF内のDATAで変更不可のデータ構造。 ローカル変数名は小文字から グローバル変数名は大文字から 定数名は_から始める パターン(列挙型)の変数に定数を代入して管理。定数は変数名なのでOPTION STRICT効果でスペルミスをチェックできる。 スプライトの管理番号に定数 処理に階層構造を作り、関数名などの先頭に階層名を略して書く 一部ルールを守っていないところがあるが…参考に「NKN3JE4D」のDESIRED_ROUTE
3そうだね
プレイ済み
返信[14]
親投稿
MIKI ifconfig
アルゴリズムは、そこに書いてあるコードを読めばわかるけど、 変数が何を表すのかはコードだけからは読み取りにくいです。 ので、変数の説明があるとメンテしやすくなります。 グローバル変数を使わない def であれば、標準の関数・命令と同様、どこに持っていっても正しく動くことを保証できる。 (そういう def しか使わない def も同様) たくさんたくさんたくさんプログラムを書いて、似たような def をいろいろ書いていると、だんだんとそれらが洗練されてきます。 そういうのを自分のライブラリとして引き出しに入れとくとなにかと便利。 ただし、記憶力がないといつまでたっても洗練されません。 他人の def など読む必要は特になくて、自分で使いやすい def を書いていけばいいのです。
2そうだね
プレイ済み
返信[15]
親投稿
れい rei-nntnd
構造化が好きな人は ・OPTION STRICTを使う ・なるべくDEF使う ・GOSUB使わない というルールが多い感じはするが、俺はあんま同意できないなぁ。 構造体のない言語で「関数呼出し」型のサブルーチン使うと引数が膨大になる。防ぐにはグローバル変数を使うか、配列を構造体風に使うかするしかない。どちらもDEFの利点がなくなる。グラフィックやサウンド関係もリソースが限られているのでDEFに頼りづらい。 「完全に独立で引数の少ない再利用できる処理」なら文句なしにDEFなんだが。 コメントも「日本語入力が大変」で…。コメント書くより、わからなくなったら書き直した方が早いんだよね… ライブラリも、変数名・関数名のコリジョン確認するの面倒で、大抵は書いた方が早いし。 他人のコードは読んだほうがいい。ただし人は選ぶべき。 MIKI氏とかみむ氏のコードはよい。俺のコードはダメ。
3そうだね
プレイ済み
返信[16]
親投稿
ナツキ natukin1978
すでに皆さんが色々な意見を挙げてるのであまり言う事はありませんが…… 関数の単体テストを用意してテストを自動化すると作業が捗ります。
2そうだね
プレイ済み
返信[17]
親投稿
ちなみに、どのプログラムでもデータを操作していてて、データをいろんなルールで操作して、データをうまい具合に見せているからゲームやアプリケーションが出来ているのです。 (ゲームだって主人公の位置データを敵データや地形データをもとに操作しているだけだし、画像だって点の配列データ) プログラムでデータがどんなふうに流れているかを把握できれば、そのプログラムの動きを把握できるので、データが入っている変数名や関数名の分かりやすい名前付けはかなり大事なのです。 BASICなら「アプリケーションハンガリアン」(変数名の先頭にデータの意味合いの名前をつけてる方法)もまだまだ有効だけど、プチコンだと長い変数名だといろいろ大変なので、調べて使えそうだったら参考にしてみる程度ででも。 (ちなみに「ハンガリアン」だけだといろいろダメなほうな「システムハンガリアン」を言っていることもあるので調べるときは注意で)
3そうだね
プレイ済み
返信[18]
親投稿
さらっと「構造体」って書いちゃったけど、たくさんの変数を1つの変数で管理できるのが構造体だと思ってもらえれば。(変数しか定義されてないクラスみたいな感じ) 構造体が使えれば関数に構造体変数を渡して、関数実行結果として構造体の中身を操作してもらうつくりができるのです。 構造体変数の定義場所がグローバルじゃなければ、その構造体の中身を操作する人は構造体変数を渡された関数だけが操作しているので、プログラムを追うのも管理するのもその関数だけを意識すればいいので楽になるのです (データへの操作がモジュール化された状態) でもプチコンじゃ1つの変数には1つの値しか入らないので、引数で複数の値を渡して複数の値を返すのには限界があって、 これを配列で渡して配列で返してもらえばそれらしくモジュール化できるけど、配列の何番目が何の値かをちゃんと管理しないと大変という感じなのです。
2そうだね
プレイ済み
返信[19]
親投稿
スー thanks_0u0
構造体的なものはあったら便利そうですね!欲しい! 現時点での考えをつらつらと。。。 保守性は多分、読みやすさと変更しやすさの2点がある。 オブジェクト指向は変更しやすさに焦点を当てていて、コメントを付けるのや変数名の規則は読みやすさに対応する。ただ変数名は情報を持たせる方向と短くする方向でアプローチが違う。 個人的にメンテナンス性が上がった、と感じたのはコメント罫線の活用と、コメントの縦を揃えること、定義時に変数名全てにコメントをつけること、あとは処理を適度に改行すること。折り返しや横長は避けたい。 結果、ビュー上だけでユーザー定義命令を展開してくれると読みやすくて助かると思いました。展開されてるのはビュー上だけなので、どこか一箇所で変更するとその命令全部が変更される。あとはスクロール同期した別ウィンドウでコメントが見られたら。。。
0そうだね
プレイ済み
返信[20]
親投稿
スー thanks_0u0
多分プログラム慣れしている方の話を聞いてもイマイチピンとこないのは、初心者が読みやすさを重視するのに対して、慣れた方は変更しやすさを重視しているから。 多分読みやすさの部分は既に慣れで克服しているのではないかと…!羨ましいなぁ( ´ u ` ) バグにどう対応するか、っていう話でも、慣れている方はそもそもバグが出にくい設計や手法を使う、ってなるけど、初心者はまずその設計や手法を使うためにかなりの労力を必要とするので(独立性を高めるにはどうしたら良いか、みたいなのに思考リソースが取られて開発が進まない)、とりあえずコメントで読みやすくなれば探しやすいはず!ってなりがち。そんな印象です。 習熟度によっても良い方法が変わってくるのかも…?
1そうだね
プレイ済み
返信[21]
親投稿
キルル2 kiruru2
・変数名だけでなく、DEFの中でどんな処理を行っているのかもコメントに残しておく(私の場合、自分で作ったアルゴリラを忘れていたりする) ・条件式は、予め変数に代入してIF F THEN~とする ・FORループはネストさせる ・ナルミンチョさんの言うように、グローバル変数とローカル変数は名前に決まりを付ける ・基本的には「自分のルール」に則って書く(自分が見やすいことが第一) ※これらは全て、私の個人的な考え方です 読みやすいコードは理解しやすいコードでもありますので、デバッグもしやすくなりますね
2そうだね
プレイ済み
返信[22]
親投稿
スー thanks_0u0
アルゴリラ…!?強そうΣ('ω'ノ)ノ FORループをネストさせるのには何の意味があるのでしょう。ネストさせる必要のないところでやったら遅くなりそうな…? 読みやすいのと変更しやすいのを別にしたのは、DEF多用のプログラムが読みにくいと思っているから。です! 多分プチコンのエディタのビューが悪くて、処理を追うときに、飛んで戻って、って繰り返すのが結構手間なんですよね。。(´=ω= ` )
1そうだね
プレイ済み
返信[23]
親投稿
ツララ LongIceSword
DEF命令とDATA命令はプログラムの冒頭に書いておいても処理には特に影響無いので、プログラム中で注釈みたく参照する必要があるものは最初に書いておく方が便利かもですね。 サブルーチンの感覚でメインループの後に補足的な処理を書くのだと編集モードのスクロールが面倒ですけど、前提的な要素を頭に持ってくればプログラムのタイトルみたいな感じで内容を把握し易くなるかも。 ロープの切断マジックと言うよりも 大きな一つのキーチェーンがメインループで、そこに小さいキーチェーンと鍵が用途別に区分されてぶら下がってる感じの方がイメージ的には合ってるのかな。 DEFやDATAが鍵の目録みたいな感じで。
1そうだね
プレイ済み
返信[24]
親投稿
キルル2 kiruru2
FORループをネストさせる…というのは FOR I=0 TO 10*10-1 GPSET I MOD 10,I DIV 10 NEXT とするより FOR X=0 TO 10-1 FOR Y=0 TO 10-1 GPSET X,Y NEXT NEXT としたほうが見やすく、変更もしやすいと思うからです まあ不必要な場面ではやらなくていいです
3そうだね
プレイ済み
返信[25]
親投稿
大筋は皆さんのご意見の通りだとおもいます。 DEFでやるところの面倒なところは、引数がたいへんなことになるんですよね。 呼び出し箇所が多すぎる場所はメンテが大変になるので (ファイルまたぎだと特に) DEFを呼び出すDEFを作るか もう一つDEFを作らざるを得ないこともありました。 あとでていませんが、定数がつかえないので マジックナンバーが増えがちなの辛いです。 (ちゃんと変数に割り当てれば良いんですが 面倒でやっちゃうことが・・)
3そうだね
プレイ済み
返信[26]
親投稿
myu314 myu314
ひゃっはー作りかけの自己満足フレームワークが火を吹くぜー、と恐らくスーさんが苦手そうなスタイルで超単純なペイントプログラム作ってみました:p トリッキーなので仕組み把握出来てないと(できてても?)大変読みにくいのではないかと! 【 NDYD43YD 】 376〜579行目あたりがお絵かき本体で、あとはそれを上手く動かすための仕掛けです。ツールを追加する場合はペンツール(507〜549)みたいな感じで作って、メニューにボタン追加してやれば完了、のはず。色々雑なので実際やろうとするとボロがでるでしょう。趣味丸出しですがオブジェクト指向だのイベントドリブンだの意識するとこんな感じかなーって雰囲気掴めるくらいのサンプルになっていると思いたい。 さて自己満足な書き方は置いておいて、正直プログラムの書き方なんかよりBIGとかPC使って広い画面で作業するのが一番書きやすいしメンテしやすいと思います!
2そうだね
プレイ済み
返信[27]
親投稿
MIKI ifconfig
スーさん > 処理を追うときに、飛んで戻って、って繰り返すのが結構手間 これタグジャンプっていう機能なんですが、 ほんとこれさえあれば何万行×何千のソースファイルでも(よく書けている場合は)怖くないのだけれど・・・ 事あるごとに要望として出してるんだけど実装されない。
3そうだね
プレイ済み
返信[28]
親投稿
MIKI ifconfig
れいさん >引数が膨大になる。防ぐにはグローバル変数を使うか配列を構造体風に使うか そこが悩みどころ。まあグローバル変数に日和ることが多いかな。 後者は可読性が著しく犠牲になるので・・・ >どちらもDEFの利点がなくなる 減少するが、なくなるわけではありませんね。e.g.ローカル変数。 >ライブラリも、変数名・関数名のコリジョン確認するの面倒 そこで必要になるのが記憶力です。 私など、先週書いたのと同じ関数をまた書いて、たまたま関数名が同じだったのでコンパイルエラーとかしょっちゅうです。 VBS だとエラー出ずに置換されるから恐ろしい
3そうだね
プレイ済み
返信[29]
親投稿
MIKI ifconfig
>読みやすさの部分は既に慣れで克服している >そもそもバグが出にくい設計や手法を使う まあそんな感じでになります。自分なりに動作保証された常套句を作り上げることです。こうしたいときはこの書き方(HOW TO 集)みたいな。そういうのを愚直に使えばバグは出にく、自分にとって読みやすくもなります。 奇をてらったり clever なやり方を多用すると、後々大変になります。稲妻のような理解力があればそれでいいのかもですが、私は凡人なので。 数学て公式暗記するだけではダメで、たくさん練習問題を解いて腕力を鍛えないと実力は付きません。 プログラミングも同様に腕力に基づく実力がモノを言います。 皆さん趣味でプチコンいじってるのでしょうから、別に実力などつける必要はなどないのだけれど、今回はそういう方向の回答を求めてるとのことなので。 凄いコードを読むのも参考になりますけどね ビットカウントぐぐって
3そうだね
プレイ済み
返信[30]
親投稿
スー thanks_0u0
やっぱり地道な努力と工夫なんですねー。練習問題とか基礎練とか大嫌いなので、実力はそこそこで良いことにしましょうそうしましょう( ´ ω ` ) ビットカウントがビットの数え方のことなら以前調べた気がしますー。2進数8桁だと、たしか01010101と10101010でマスクかけてビットシフトで桁揃えて足すと2桁ずつ立ってるビットがわかって、次はその足したものに00110011と11001100でマスクかけて桁揃えて足すと4桁ずつ、次は11110000と00001111で同じことをすると8桁全部、どんどん立ってるビットだけが足し合わされてわかる、みたいな仕組みだった気がします。本当に誰が思いつくんでしょうねー。 プログラムで遊ぶと目からウロコな瞬間がいっぱいあって楽しいです(・u・)
0そうだね
プレイ済み
返信[31]
親投稿
スー thanks_0u0
そしてタグジャンプが欲しすぎる…!サブルーチンもDEFもより便利になる神アプデに期待!(・д・) myu314さんいつもありがとうございますー♪( ´▽`) 理解できるかはさておき、オブジェクト指向でイベントドリブンなカッコいいプログラム見てみますー! やっぱりDEFって引数大変なことになりますよねー。アクションゲームは比較的DEFを使ったのですが、それはもうごちゃごちゃと。。。( ´・ω・` ) 定数も欲しいですねー。変数を定数として使ってることが間々あります。 FORネストわかりました!掛け算遅いそうなので多分速度的にも良いと思われますー。 確かに先に書いた方が後に書くよりは良いかもですね!行ったり来たりするにしても「さっきこの辺で見かけたなー」ってなるだけでもちょっと違いそうです。
0そうだね
プレイ済み
返信[32]
親投稿
れい rei-nntnd
みき氏 タグジャンプつきのエディタはよ
4そうだね
プレイ済み
返信[33]
親投稿
れい rei-nntnd
みんなグローバル変数にひよるなら、無名DEF=ローカルスコープブロックがあってもいいかなぁ ローカル変数を使うためだけのDEF。 プチコンは変数定義まわり遅いからつらいかもだけど。 コードが大きくなったときにつらくなるのはプログラミングが商業になり始めた70〜80年代に人類が経験済みで、その時の解は構造化とかオブジェクト指向とかそういうので。 それは多人数大規模開発向けの解。 結果、「お手軽」なプログラミングは失われた。 大規模開発向けのコーディングメソッドはプチコンには向いてないと思うんだよねぇ。
4そうだね
プレイ済み
返信[34]
親投稿
スー thanks_0u0
ネットでオブジェクト指向の説明を見るたびに、多人数開発には便利だけど個人開発にはそこまで恩恵ないんじゃないかなー、って思ってたんですけど、やっぱりそういう経緯なんですね(・u・) お手軽さを残しつつそれなりのスマートさ、なバランスが良いなぁ。
2そうだね
プレイ済み
返信[35]
親投稿
myu314 myu314
>れいさん 無名DEFだとどうせGOSUB死ぬだろうから、BASICらしさを維持して追加するならC++で言うところのnamespaceがいいんじゃないかなと。小学生のころサブルーチン内の変数名で散々悩んだし、あったら喜んだと思う:)
3そうだね
プレイ済み
返信[36]
親投稿
しんいち stgf1080
昔は複数人で手分けして1つのプログラム(ソフト)作るよりも、1人のデキるやつが1人で作った方が良いものができあがる、って思ってたけど、今の時代大規模になっちゃってそうも言ってられないんだよねぇ。 3号は結局3DSって言うハードウェアの縛りがあるからプログラムの生産性(結局はこれだよね)もそれに伴っちゃう(画面ちっちゃい、ハードウェアキーボード使えない)感じかなぁ。 ゲームスロットに何か差してTVに出力できたりハードウェアキーボード使えるようにならないかなぁなんて妄想したもんです^^;
1そうだね
プレイ済み
返信[37]
親投稿
ish owlis1
「関数ジャンプ」と「コメントのドキュメント化」は、購入して最初の方に作り実用的では無かったのでお蔵入りしていたり。 私は「スピード」にも「プログラムの短さ」にも拘りが少ないので、色々な面で変な書き方をしているのは自覚しつつ、参考になればと自己語り。 れいさんが言われた様にグローバル変数に日和った結果、 「グローバル変数を極力直接アクセスしない」 という邪悪なる思想が生まれ、 「グローバル変数をプログラムの先頭で極力宣言しない」 という、昔気質のプログラマが聞いたら猛々しく注意されることをやっていたりします。その代わり、グローバル変数へのアクセサが必要になるのですが。 扱うデータが増えると、こういう書き方するとスピード面で問題は出やすいなぁと最近は思うのです。 サンプル「1BWECW8E」
2そうだね
プレイ済み
返信[38]
親投稿
スー thanks_0u0
別に名前空間はローカル変数があれば困ってないような気もしますけど、気付けてないことが色々あるんだろうなぁ( ´ ω ` ) ファミコンの時代はプログラマー神みたいな人が一人でバリバリしてたらしいですねー。岩田さんとかFFの方とか(・u・) 携帯機で生産性が制限されている面もありますけど、手軽さの面で相当メリットがあると感じているので、何かいいとこ取りできたら良いですね。TV画面やPCの前に束縛されてたら私はこんなにプログラム続けられてないと思います。 グローバル変数に直接アクセスしない…?ちょっと利点がよくわからないような?グローバル変数を使うことで引数が減るのが良いのですよね。 何だろう、ローカル変数としてグローバル変数を使うような感じなのでしょうか。ひとまず後でサンプル見てみます!( `・ω・´ )
2そうだね
プレイ済み
返信[39]
親投稿
しんいち stgf1080
あー、携帯できるってメリット見落としてましたね。逆にそっちの方が身体的に縛られてなくて自由か。 DEFで1つ。 DEFはなるべくローカル変数だけで動かしたい(まだまだ自分プログラム資産少ないので、他のプログラムでも流用できたらと思って)けど、引数超長くなっちゃうとか、複数のDEFで使ってる情報(画面サイズとか)で、どうしてもグローバル変数のまま使っちゃう時は、そのDEFのところにその旨コメント残すようにしてます。DEFからDEF呼んでる時も。
2そうだね
プレイ済み
返信[40]
親投稿
れい rei-nntnd
みんなそれぞれ自分のやり方考えるのは大事できっといいやり方、面白いやり方あると思うんだけども いいやり方を広めたり、他人のやり方まねるのも大切だよね ある程度smileboomがやりやすく考えたのが今のエディタなんだけどもちょっと機能不足。 日本語入力も、ジャンプも、検索も、シンタックスハイライトも、テストも、デバッグももっとよくできそう。 いいエディタがあったら今問題になってる項目のかなりは解決するんじゃないかなぁ。 MIKI氏、みんなが自由に機能追加できるいいエディタはよ
5そうだね
プレイ済み
返信[41]
親投稿
MIKI ifconfig
ま、まずはラインエディタからでいい?? ken の ed(1) みたいなやつ・・・
2そうだね
プレイ済み
返信[42]
親投稿
ish owlis1
グローバル変数はスコープ広くて嫌だなぁ ↓ だったら俺ルールでスコープ短くしたらよくね ↓ グローバル変数に関連するDEFの直前でVAR宣言して、グローバル変数使うのは対象のDEFだけにするルールやってみよう ↓ ファイルの後半に書いたグローバル変数を、前半の関数でも使いたいんだけど ↓ アクセサ作ればよくね ↓ どうせなら全部アクセサ作るか。別スロットでも読めるし ↓ 無駄に多いアクセサ! こんな邪悪思考
3そうだね
プレイ済み
返信[43]
親投稿
れい rei-nntnd
ラインエディタって… いつの時代だよ もう21世紀も16年だぞ 本来ならチューブ型電車に空飛ぶ自動車、ぴっちりしたスーツきて歩いてなきゃいけない時代。 3D対応のプチコンなんだからフルスクリーンどころか飛び出すエディタだろ!
3そうだね
プレイ済み
返信[44]
親投稿
スー thanks_0u0
飛び出すエディタ欲しいですね!ぴっちりスーツで空に飛び出すチューブ型のエディタ!(違
1そうだね
プレイ済み