今月後半の目標:原稿完成
いやもうこれ以外考えたくないw
応用情報の勉強はマジで8月以降にしてくださいしんでしまいます バシーンバシーン
さて、それ以外の日常生活に関して。
訓練校でのC言語のコードが不安です。
fflush(stdin); を知らないってどうなの?とは思っていましたが、
先生からにありがたいリプ指摘により、正しい用法ではないことが判明。
最初に聞いたときは思わず絶句したけど、そうだったのか。
まあ当の講師本人はscanf()とかを平然と使ってる時点でそういうことは全く気にしてないと思うけど。
そもそもfflush()自体知らなかったし…
前の研修先でscanf()とgets()は使うなって言われてたから、そのぶん前の研修先のほうがマシだったのかもしれない。
そんな中でもとりあえず目に余った箇所
- 一つの関数にreturnが複数ある
- 変数(定数)と演算子の間にスペースがない
- プロトタイプ宣言せずにmainを最後に書いている
- 何の前触れもなくグローバル変数宣言
- int main()
- 戻り値voidの関数でreturn ; がない
- 自己参照構造体がわかっていない(ように見える)
以下、主観だらけの検証
return が複数
個人的には吐き気がする。
出口が複数あるとコードがわかりにくくなる…
これはループ内の break; にも通じるものがあるのかな。
スペースがない
これも吐き気がする。
純粋に理解に時間がかかってしまう。
まあ私も専門は行ったばっかりのときこういう書き方だったけど、気がついたら勝手に直してたな。何かきっかけがあったようにも思えないのだが。
mainが最後
これは見た目的には問題ないようにも見えるけど、
確かCの本質を全く理解していないって言われた気がする。
細かくは覚えていない辺り私もまだまだ。
確かCは「最初にメモリを確保する」ってのが前提だから~みたいな感じだったような。
超うろ覚え。
突然のグローバル変数
まあ、もちろんこれが一番危険だと思う。
実際の現場とかのことを考えると一番まずい。
別の関数はvoid func(void)にしろって言われて、変数の中身をいじくるからまずグローバル変数だとは思っていたけど、こうもホイホイ使われるとなあ…。
関数の引数にポインタを指定するのでは駄目だったのだろうか?
そもそも、関数内で変数名が指定されちゃっている時点でこの関数はまったくもって独立性がないように見えるが…
うーん
int main()
略
void 戻り値でreturnがない
まあ…なんだ 略
それとは関係ないんだけど、Visual C++のコンパイラは戻り値の型が異なっているのにエラーを吐かないとか、プロトタイプ宣言も#includeもない関数を勝手に解釈するのやめてくれ
自己参照構造体
構造体のメモリ確保の課題が出たので、リスト構造で考えて自己参照構造体を使って完成後に見せたら
「ずいぶんと複雑なのを使っていますねー」との言葉。
これが「自己参照構造体」が複雑なのか、私のコードの書き方が複雑なのかは定かではないが、「このコードだとちゃんとfree()できているかちょっと不安なんですよねー」と言ったのにもかかわらず、スルーされたからなんとなく怪しい。
人間って、1回ある人の信頼失うと次々にその人の揚げ足取るようになるよNE!!!!!
久々に適当なちょっと長い独り言を書いていた。
このコードを誰かがググってコードの参考にしないことを祈る。
あとオススメのWindows用テキストエディタってなんかないですかね?
フリーでNotepad++ よりいいものがあれば。できればインストーラじゃなくてzipで。
0 件のコメント:
コメントを投稿