1015行の写経と15箇所訂正の反省
夜中に1015行の写経が終わった。 間違えまくったので、たくさん直した。
ぷよぷよがやっと動いた。ちょっと遊んだ。
前提
- 教材は【公式】ぷよぷよeスポーツ×プログラミング(日経ソフトウェア2021年3月号付録)
- 本来ステップ(初級などのレベルとSessionがある)があるが、雑誌付録の意図がよくわからず、いきなりサンプルコードを1から写経
よかったところ。勉強になったところ
- 実際にJavaScriptでどのようなメソッドを使用しているのかがわかった。
- タイピングの練習になった。
- 文法自体は難しいことをしなくても十分対応できることがわかった。
- デバッグ(といっても写経なのでスペルミス修正が90%超)の重要性を少し感じることができた。
- 一文字違うだけで全く動かないという体験ができた。
- 今回はゲームなので、初期値(設定値)を触れば、自分好みに遊べる(落下速度など)
- 自分の興味分野を知ることができた。
- 教材ですら?ES2015でない古い書き方(
var
など)をしていたり、作法?(文末の;がないことがある)の統一がされていない。真偽はわからないが感覚的にはこれくらいでいいんだと気持ちが楽になった(分かる範囲で訂正して書いたけど) - index.htmlで.jsファイルを読み込み、game.jsファイルで発火させ、それぞれの.jsファイルは主にclassを記載(
class PuyoImage
,class Player
,class Stage
...という構成(MVC?) - 'class Config'ではclass Config {}を宣言しておいて、Config.puyoImgWidth = 40;...などと付け足していく書き方があり、こんな書き方があるんだとなった。
- 場合分けがとにかく多い。
switch
ってけっこう使うんだ(自分でつくるとifが多くなる) - 場合分けの中でいちいち変数宣言していた。ローカル変数?ある意味、こういう泥臭い感じで別にいいんだとなった。
bool
をたくさん使っていた。this
がやたらと出てくる。- classの中では
static
- 恐ろしいほど自分はタイプミスをすることがわかった(66行に1箇所ペース…)
- 英語で思い込んでいる綴ミススペルが致命的になる(eraseをどうしてもeraceと書いてしまうことがあるなど)
- ファイル名すら間違えた
- 最終手段はVSCodeで
command + shift + P
>Compare Active File
でdiff - それでも気づかない間違いが最後に残った(
position
をpositon
にしていた。diffでもiは細いからか気づかず) - index.htmlでscript srcを1個ずつコメントアウトして、ファイルを特定した
- このブログでまとめているのが一番勉強になっている気がする
よくなかったところ
- 時間がかかる
- あとで触るクラス、変数がなんのことだかわからない。
- 途中心が折れそうになる
- その過程でちょっと嫌になる。
- 半分折り返すと、ただ終えることだけが目的になってしまった
- 業務ではわざわざ写経したりしないと思う。読むという練習にはならない。
- 細かい場合分けなど訳も分からず進む
- デバッグといっても、写経なのでスペルミス。構造的な間違いはない。
- 全部作りきらないと動かないので、途中の達成感がない
- (現段階では)JavaScriptやアプリ作成の勉強にはあんまりなっていない気がする。労力の割に…
- ここから色々触ったり見返すと勉強になると思うが、正直やりたくないし、とりあえずやらない。
間違えたところ(。>﹏<。)
誤 | 正 |
---|---|
lenght | length |
erace | erase |
ratation | rotation |
geme | game |
x | y |
- | + |
= | - |
(なし) | x + ... |
touched | touchend |
Store | Score |
ration | ratio |
imege | image |
moveble | movable |
checkfall | checkFall |
(img fileなし) | img fileあり |
※順不同
動機の95%は手を動かしたいだけだった写経(のための写経)はいいこともたくさんあるが、もうやりたくはないかなと。