英字新聞多読が3ヶ月続いたので報告します。
前回の報告からまた1ヶ月が経ちました。
あれからどうなったのか?を報告していきます。
前回の報告はこちら
暇な時間も少しずつ英語に触れるようになってきた
毎週、週刊英字新聞を読破するというのが自分に義務づけているテーマです。そしてこれは完全に習慣にすることができました。
さらにプラスで、ちょっとした隙間時間のネットサーフィンとかも気分によっては英語のサイトを読むようになってきました。以前は全く考えられなかったことです。
英語の記事って、雑誌でもウェブサイトでもなんかギッシリ文字が詰まっている感じがありませんか?あれで圧倒されて心を折られてページを閉じることが多かったのです。
しかし、最近はちょっと読んでやろうか、と思うようになってきました。また、別記事あげていますがMoocに挑戦したりと英語だけメディアに取り組んで見ようと思えるようになってきました。まあ、まだスムーズに読めて理解できるレベルではないので結局諦めたりすることも多いのですが。
とにかく英語に対する壁が低くなっててきいるなぁという実感があります。
読む速度はどうなった?
またMagic Tree Houseシリーズで計測してみました。
Sunset of the Sabertooth (Magic Tree House (R))
- 作者: Mary Pope Osborne,Sal Murdocca
- 出版社/メーカー: Random House Books for Young Readers
- 発売日: 1996/04/14
- メディア: ペーパーバック
- この商品を含むブログ (10件) を見る
4946語の作品を読むのに1時間17分かかりました。
だいたい65wpmと言ったところです。
前回(60wpm)から、大体1.1倍程度となります。が、言い訳をさせていただければ、今回は途中で何度か邪魔が入って集中できなかった。途中で眠くなって何度か軽く意識を失った。そして内容が前回より少し難しいように感じました。ですので、実際にはもう少し早くなっているかな?と思います。目標は200wpmですので、大体30分で読まないといけないんですね。これはなかなか先が長そうです。
理解度は上がっているのか?
毎回主観になってしまい恐縮ですが、上がってきていると思います。
というのも、週刊英字新聞の注釈を見なくてもわかる単語が増えてきました。と言っても、最初は注釈がある単語は全てわからなかったので、繰り返しでてきているものの内のいくつかを覚えた。ということです。
しかし、これが意外と大きいです。文書から目を切らなくて良いので、意味を理解するのに集中できます。やはり単語や熟語をたくさん知っていることは大事ですね。
また、ようやく少しずつですが、少し難し目の構造の文章でも直読直解ができるようになって来ました。これは文法の勉強してる間や中学レベルの長文問題集をやっていた時からずっと意識して来たことです。
これが3ヶ月目にしてようやく、特に意識することなく自然にできるように少しずつなって来た。という印象です。
今までもいわゆる返り読みはほとんどしていませんが、その代わり1つの文をきちんとひとまとまりとして理解することができていませんでした。それが少しずつつながってきたという感覚です。このおかげで、より細かいニュアンスについても本当に少しずつですが理解できるようになってきた印象があります。
学習者向け英字新聞のいいところ
学習者向け英字新聞は簡単な記事から難しめの記事まで色々と取り揃えられているのが良いところかなと思います。
かなりスラスラ読める部分とかなりわからない部分があります。これによってただ多読をしているだけなのですが様々な効果を得ることができます。
簡単目のところでは、内容を理解することやスラスラ読むことに重点を置いて読む。難し目のところでは、構文をしっかり取ることを意識する。などのように多読の方法を少し変えることによって、多読から得られる効果を変えていくことができます。
最終的に全ての記事でしっかりと意味が取れるようになるには結構高レベルな英語力が必要な気がします。
まとめ
- 週刊英字新聞多読を3ヶ月続けた成果をまとめます。
- wpmが少し挙がった
- 単語熟語を少しずつ覚えてきた
- 直読直解ができるようになってきた
継続3ヶ月ですが、スラスラにはほど遠いものの、確実に近づいていっていると思います。
海外ドラマ勉強法を3ヶ月続けたので報告
海外ドラマ勉強法が3ヶ月続いたのでその成果の報告です。
結論から申しますと微妙というか、LISNIGは難しいし、時間がかかるなぁ、という印象です。
この1ヶ月で取り組んだ量
なんかいろんなことに手を広げすぎて全然取り組めませんでした。
全部で30話、約600分なので、
前回の報告が3月2日なので、約40日で、30話しか進んでない。
これはやばいですね。
進歩しているのか?
進歩はしています。というのも、昨年末くらいに英検3級の過去問に挑戦しています。そこで、英検3級のLISNIGに対してすら、しっかりと聞き取れていない状態でした。 3級は2回問題を読んでくれるので、1回目であたりをつけて、2回目で確認という方法でかなりギリギリの状態で解いていました。
これが先日準2級の過去問を解いてみたところ、LISNIGは1問間違いで、残りは全問正解でした。準2級は一度しか問題を読んでくれないにも関わらず、中々の成績を残すことができました。つまり、確実に進歩はしています。
しかし、相変わらず海外ドラマは全然聞き取れてきません。英語字幕の力を借りて、ようやっとぼんやりと意味がわかる程度です。
今観ているフルハウスは毎回テーマがしっかりと決まっていて、しかも1話完結なので大スジの内容は毎回キチンと理解できます。
しかし、聞き取れているところとテーマからの推測で、だいたいこんな処だろうという感じです。まぁ、そういう意味では実践的なスキルを養うことができている、とも言えます。
が、全体としては本当にまだまだで全然先が見えていない状態です。
意外なところで力を発揮
嬉しいこともありました。海外ドラマを英語音声英語字幕で見続けてきたことの効果が意外なところで発揮されました。
それはMoocです。最近Moocを使って海外の講義を無料で学習することを始めています。
当然英語のテキスト英語の音声で講義が行われます。しかし、講義には必ずスクリプト、字幕がついているのです。
つまり、英語音声英語字幕という私が海外ドラマを視聴しているのと同じ環境となります。その中で英語のレベルが比較的低そうなIELTSの講義を受講してみています。かなりきついかな?と予想していたのですが、講義部分のおおよその意味は殆ど掴むことができています。もちろん完全にはわかりません。が講義の後に練習問題をなどがあり、そこで改めて文章でポイントが書かれているのでそこを読めば全く問題にはなりません。
ですので、講義動画を繰り返し観たり、スクリプトだけをじっくり読んだりしなくても講義についていけています。
このようなことでこの勉強法を続けてきてよかったと思えたので、モチベーションは保つことができています。
ちなみにIELTSのLISNIGですが、肝心の問題部分はナチュラルスピードの英語でスクリプトを観ない状態で聴くので、何回か聞き直して正解する場合と何回聞き直しても全くわからない場合があります。IELTSおそるべしです。
まとめ
LISNIGは時間がかかると覚悟してコツコツ続けていくことにします。
edXでIELTSの講座を始めました
一応、英語の実力は順調に伸びているのですが、Moocの存在を知ってから早く英語を使いこなせるようになりたいという欲求がすごいです。
海外の大学の講義が問題なくこなせるレベルの英語力を身につければ、日本にいながらにしてアメリカ、イギリス、オーストラリアの大学の授業やITに関する専門的な講座が無料で受けられてしまうのは衝撃的です。
しかし、そのレベルになるには、IELTSで行くと7点、TOEFLで行くと100点近くが必要となるようです。今の自分の実力とこの目指しているレベルにどれくらいの差があるのか?がはっきりとはわかっていません。(遠い事はわかっていますが)
今のところ英検準2級程度の実力のない私がedXで提供されているIELTSの講座を受けてみてレベルの差をしっかりと体感する共に実力アップ図ってみたいと思います。
講座の概要
スクリプトを精読すればはっきりとわかるのでしょうが、ざっくりとしか理解していません。
この講座はLISNIG、SPEAKING、READING、WRITINGの4つのパートに分かれている。どの順番でやっても、気になるパートだけをやっても構わない。ということの様です。
弱点のパートがはっきりとしている人はそのパートだけやるというのも勉強の効率からいって良さそうです。
しかし、私は全てが弱点なので順番通りすべてやってみることにします。
LISNIGに着手
各パートはそれなりにボリュームがありそうです。各パート毎の詳しい内容はパート毎に記事にまとめる予定です。ここではLISNIGを初めてみた感想を書きます。
一言で言うと、えらく難しい、です。
LISNIGのパートの中は細かくSTEP8まで分かれており、徐々に難しくなっていくのだろうと勝手に思っていました。が違いました。まだSTEP3に突入したばかりなのでなんとも言えませんが、LISNIGの問題を効率良く解くためのTIPSが8段階に分かれていると言うことの様です。
講師の人がポイントを説明する際には、ゆっくり目ではっきりと喋ってくれますので、大まかには聞き取れます。しかし、問題が始まるとナチュラルスピードっぽいです。なんとなく理解できるところもありますが大体理解できず、聞き取れかけたところの意味を考えていると、その後の部分が全く頭に入りません。
一応、英検準2級のLISNIGは1問間違いでした。この程度の実力では、全く太刀打ちできないと言うことだけはわかりました。が、LISNIGをどうすれば効率的に伸ばしていけるのか、わかりません。
と言うか、IELTSにしてもTOEFLにしても参考書が、結構レベルが高いところから始まると思うんです。日本人が極端にレベルが低いだけで外国人の方々は特に苦労しないのでしょうか。そこがすごく不思議です。
だだ、LISNIGに関してはスローなものを聴き込むことの効果はそんなに意味がないという説もある様なので、あえてのナチュラルスピードかもしれません。
まとめ
- 英語で大学の講義とかを受けられるの英語力になりたい
- でも、現在の実力は英検準2級レベル
- edXでIELTSの講座にエントリーしてみる
- ひどく難しくて凹む
今回はLISNIGの導入部分までの感想なので、進めていけば少し感覚は変わるかもしれません。特にSPEAKING、WRITINGに関しては知識ゼロに等しいのでここら辺には興味があります。心は折れかかっていますが、なんとか最後まで続けていきたいと思います。
少しでも皆様の参考になれば幸いです。
英検準2級の筆記をやってみました
現在の実力を測るために英検準2級の筆記をやってみました。英検のサイトに過去問があるのでそれを時間どうりに解いてみました。
リーディング
制限時間は65分です。15分くらい余らせて見直しも全くすることなく終了しました。手応えは結構ありました。結果は2問間違いでした。
ほとんどの問題は確信を持って正解を選ぶことができました。何問か少し自信がない問題があり、そこが不正解となりました。手応えがあっただけのことはあり、キチンと点は取れています。
リスニング
曖昧なところが結構あり、悩んだ問題がいくつかありました。が、結果1問しか間違いませんでした。ちょっと感覚と違う結果でしたが、運だけでこの結果にはならないと思います。従って準2級としては十分な実力があるのだろうと思います。
しかし、3級の過去問を解いて見た時から、リスニングが課題だと思っていました。結果は良かったのですが手応えが今ひとつだったので、もっと鍛えていく必要があると感じました。
感想
現在の勉強方法は他の記事でも紹介していますが、問題集などは全くやっていません。多読と多聴がほとんどで瞬間英作文をほんの少しだけやっています。
特に試験対策の勉強は全くしていません。その割に点はしっかりと取れているので、英検準2級程度のLISNIG、READINGに関してはテスト対策は特にい必要なく英語力そのものを伸ばすための勉強をしておけば自然と点数が取れてしまうようです。SPEAKINGとWRITINGは何かしらの対策が必要でしょうが。
まとめ
今回の目的は、
- 今の勉強法できちんと成果が出ているのか
- IELTSの学習を始めるにあたっての実力測定
でした。
別記事でWPMの計測などで実力の測定をしていました。が、客観的な方法で実力を測定してみようと思い、挑戦しました。結果としては、やはり順調に伸びているようで安心しました。
また、これも別記事で紹介しましたedX(無料で大学の講義等が受けられるサイト)でIELTSの講座がありましたので、それを始めてみようかと思っています。始めるにあたり、英語の実力をハッキリさせておこうという狙いがあります。これに付いても別途記事をあげる予定です。果たして英語だけで行われるIELTSの講義についていけるのか?自分でも心配です。
筋トレ初心者向け 続けられる筋トレ方法を紹介
何回か筋トレにチャレンジしていたのですが、ちょっと経つと挫折して辞めるというパターンを繰り返していました。
しかし、体が変化するのには時間がかかるので、続けられないと結局元の身体のままです。
とにかく続けられる、ということに焦点を当てたトレーニング方法を紹介したいと思います。
ちなみに、私はゆる〜くトレーニングを続けた結果、かなり身体は変わりました。
続けることが一番大事です。特に初心者は。
10回3セットの呪縛
一般に効率良く筋肉を鍛える為には10回3セットが良い、という情報が巷に溢れています。
が、私の中ではこれが挫折製造機だと思います。
何故か?
つらいからです。
トレーニングの王様と言われているスクワットで考えます。
つらい理由は2つです。
- 呼吸が苦しくなる
- 焼け付く様な痛みがある〔バーン〕
呼吸が苦しくなる
トレーニング中の呼吸の仕方に問題があるだろ、と思われる方もいるかと思いますが、そうではありません。
大きな力を出している間は、息を吐くことはできても、吸うことはできません。だから、動作一回〔以下1レップ〕ごとに息を吸うわけです。が、回数を重ねるごとに息が足りなくなってきます。スクワットを10回もやった日には、呼吸困難になります。
焼け付く様な痛みがある〔バーン〕
筋トレをしていると筋肉に起こる焼け付く様な痛みをバーンという様です。この痛みは、1セットの回数が多ければ多いほど、どんどんと強くなってきます。スクワットを10回3セットやった日には、足が焼け焦げるかと思うほどです。
この2大要因によって、また次回もトレーニングしようという心が折られます。
レスト30秒の呪縛
セットとセットの間の休憩をレストと言います。
これも世の中でよく言われているのは、
- 30秒〜1分
です。あまり長く休むと、筋肉をつけるのに効率が悪くなる、とすら言われています。
さて、レストが短いと何故挫折しやすいのか?
呼吸が整わないからです。
つまり、1セット目で既に呼吸困難になっているのに、呼吸が整わないうちに2セット目に突入します。もう、なんの罰ゲームだよ!と言いたくなります。
失敗するまで追い込まないと意味ない呪縛
10回3セットの重さの決め方ですが
1セット目がギリギリ10回出来る重さにするのが一般的です。
つまり、2セット目以降は、そもそも10回上がるはずもない、でも、可能な限り力を振り絞ってやれ!余力を残すな、というのがこれまた一般的です。
じゃないと筋肉つかないよ?と言われています。
※最近はフォームが崩れない範囲で、と書かれることが多くなってきた気がしますが、キチンと理解されているかどうか。
5回5セット、レスト3分、追い込まない
色々書きましたが、じゃあどうするのか?の答えがこれです。
- 5回5セット
- レスト3分
- 追い込まない
5回5セット
10回でなく5回でも十分効果はあります。というか、初心者は細かいことを気にしなくても効果が出ます。
初心者にとって、5回は10回よりも良い点がいくつかあります。
集中力がキレづらい
初心者は、まだトレーニングのフォームが身についていないので1レップ毎にしっかりとフォームを確認する必要があります。身体がどんどんキツくなってくるとフォームが乱れやすくなるので、しっかりと集中できているうちに1セットが終わった方が良いです。
辛くなりづらい
呼吸困難や強烈なバーンが発生しづらいです。
あくまで主観ですが、経験上7レップ目や8レップ目辺りから呼吸がキツくなってきて、同時にバーンが発生し始めます。5レップだと、両方とも発生する前に終わる場合が多いです。発生したとしても2レップ程度なので乗り切ることが容易です。
ただし、5セットは確かに多い
ただし、いい事ばかりでもありません。1セットずつの辛さが大幅に減った分、セット数を増やす必要があります。ただ、厳密にいうとこれも絶対必要というわけではなく、10回3セットと近い交換を出すためには、です。
扱う重量が上がってくると、あと3セットもあんの?という絶望感が襲ってくることがあります。
レスト3分
レストの時間についてですが、これは長さによって筋トレの交換が変わる、という証明はされてない様です。つまり、好きな時間休んで構いません。
ただし、あまり長すぎるとデメリットがあります。
時間がかかる
5セットやるので、4回レストがあります。5分休むとそれだけで20分かかってしまいます。
ジムだと迷惑がかかる
自宅だったら問題ありません。が、ジムだと器具をずっと独占しているのは問題があります。
ということで、3分くらいが良いかと思います。少なくとも呼吸は完全に整います。人によっては時間を決めずに、呼吸が整ったら、と決めている人もいる様です。
とにかく種類を減らす
後、挫折しやすいポイントととしては、トレーニングの種類が多いというものがあります。 これは種類が多いとつらいことととにかく時間がかかることが問題となります。
同じ部位は1種類で良い
これもやっぱり調べると、
ベンチプレスして、インクラインベンチプレスして、ダンベルフライして、、、
みたいなことが書いてあることが多いです。が、初心者には必要ないです。続けられる様になってから、必要に応じて追加しましょう。
腹筋とか腕のトレーニングは必要か?
バーベルやダンベルを使ったトレーニングをする場合には、どうしても腹筋は使われます。ですので個別にさらに 腹筋を鍛えることが必要か?を考えた方が良いでしょう。
腹筋は中々肥大しないのでバキバキに割れた腹筋を目指すのなら必要かもしれません。しかし、いくら鍛えても、脂肪がついていれば割れません。逆に脂肪がついていなければ、大したことない腹筋でも割れます。また、腹筋を鍛えると普通ウェストは太くなります。筋肉がつくわけですから。
次に腕ですが、胸と背中のトレーニングで腕は必ず使われます。例えば
の様に腕を使わずに鍛えるのは殆ど不可能です。腕は個別にやらなくても筋肉は付いてきます。ですので、これも当初やらなくて良いでしょう。私は未だに個別に腕を鍛えることはしていません。
理想はバーベル
とにかくトレーニングの種類を少なくして効率的にトレーニングしたい場合、バーベルが一番理想的だと思います。
全て英語なのですが、私はここのサイトを参考にしてトレーニングをしていました。上に書いたことの根拠もここからきていることが多いです。
英語ですが、動画や画像が豊富なのでなんとかなると思います。ただしいフォームについても細かく解説されており本当に素晴らしいサイトです。
バーベルでたくさんの筋肉を一度に使って行う種目を行うことによって、効率良くトレーニングしようということです。
ただし、普通の人が自宅にパワーラックを置くのは非現実的なので、ジムに通う必要があるでしょう。
ダンベルだったら
バーベルがダメであればダンベルです。最近ダンベルは結構安いですし、自宅でトレーニングも可能かなと思います。別途、フラットベンチが必要になりますが。
ただし、ダンベルの場合にはどうしても下半身のトレーニングが難しくなります。例えばスクワットだと、体重にもよりますが、50キロとかはすぐにできてしまうので。また、あまりに重いものをどうやって持つのか?も課題になってきます。
上のバーベルと同じ様な構成になる様に簡単にメニューを紹介しておきます。
マシンだったら
マシンでは腹筋と背中の下部を個別に鍛える必要かあるでしょう。
- ラットプルダウン
- チェストプレス
- レッグプレス
- ショルダープレス〔マシン〕
- グッドモーニング
- 腹筋〔マシン〕
マシンを使うということはジムに行くということなので、バーベル、ダンベルと組み合わせても良いでしょう。
まとめ
- 5セット5レップ、レスト3分
- 可能な限り種類を減らす
- できればバーベルでトレーニング
説明不足のところも多々あったと思いますので、近々別の記事で補足していきたいと思います。
英語多読は予習と復習が同時に出来る
英語多読をお勧めするシリーズです。
勉強した内容を効率良く記憶に定着させるためには予習復習が大事です。
そして、多読は他のことを勉強しながら、意識しなくても予習復習ができる勉強方法なのです。
前提条件として多読は英語で勉強する方法である
私がゴリ押ししている勉強方法[多読]ですが、前提として
-
純粋に楽しみのために読む
- 何かを勉強するために読む
のどちらかがいいだろうと思います。
ただ、英語を定着させるタメだけにつまらないものを読んでいるのであればやめた方がいいです。勉強するのが嫌いになってしまうと困るので。
私の場合には、
- 海外ドラマを楽しむための多聴(聞き流しというか字幕の多読)
- 時事情報を知るための多読
- 純粋に勉強〔数学とかIT〕のための多読・多聴(気休め程度)
の3本立てになっています。
予習としての多読
多読していると、度々出会う知らない単語というものがあります。でも、調べません。いちいち調べていると、莫大な時間がかかりますし、文章を読む流れが止まってしまい、文章全体の意味が取れなくなってしまいます。
なので、気になっている単語がたくさん溜まっていきます。このよく見るけどイマイチ意味がわからない、気になっている状態で、単語熟語の勉強をすると定着率が高いです。
理由は2つ
- モヤモヤ→解決、でスッキリする
- 既に何回も出会っているところからのダメ押し
人間の脳はインパクトのあるものを長く記憶出来る性質があります。なので、わかった!という解決感で記憶に定着しやすくなります。
また、頻繁に出会うものは記憶に残りやすいという性質もあります。ですので既に見たことあるなぁという単語を改めて勉強すると定着率が高くなります。
復習としての多読
これはイメージし易いと思います。既に知っている単語熟語文法事項などと多読の中で出会うことで復習になります。何度も繰り返し出会うことにメリットがあります。
- 色々なパターンで出会い理解が深まる
- しつこく繰り返し出会うことで瞬時に理解できる様になる
例えば、1つの単語でも様々意味がある場合もあります。また、色々な文脈で出会うことにより微妙なニュアンスまで深く理解できる様になります。
また、しつこく繰り返し出会うことで、思い出す感覚もなく、一瞬で出てくる様になります。しかも、この状態になると中々忘れません。
時間の効率的に活用
以下は私がかなり参考にさせていただいている英語高地トレーニングからの引用です。
そう考えると、単語帳での学習をひたすら続けることは危険なのではないでしょうか。たくさんの単語を覚えると忘れたくない気持ちが強くなり、復習したくなります。しかし、様々な文脈でその単語に出会っていないと、知識として定着はしません。その結果、しばらくすると再び多くの単語を忘れ、また単語帳の復習を繰り返す。いつまでたっても他の勉強に手がまわらない。この負のサイクルにはまってしまうのです。
長文が苦手な人の多くは、単語学習に時間をかけすぎていることがほとんどです。そのような人は、思い切って単語帳での学習をやめて、文章を読むことにシフトする必要があるでしょう。仮に、1日1時間の単語学習を4カ月するとしましょう。時間にすると100時間以上です。その時間を全て多読に使えば、TIMEに換算すると20冊は読めるのではないでしょうか。
この記事では単語帳を繰り返し復習することの危険性について書かれています。試験で得点を取ることだけが目的であれば問題もないのかもしれません。しかし、英語で本が読みたい、英語で勉強したい、英会話が出来る様になりたいなど、英語を使って何かをしたいのであれば、単語熟語にばかり時間をかけているのはもったいないです。多読で好きなものを読みながら、単語熟語も文法事項も復習できちゃうのです。とは言っても
- 英語力が低いと読めるものの選択肢が狭い
- 復習の内容が網羅的ではない
レベルが低いと本当に読めるものがありません。
- GradedReader
- 児童書
- 学習者向け英字新聞
候補はこれぐらいになります。人によって好みが分かれます。しかも結構お金がかかります。私の個人的なお勧めは学習者向け英字新聞です。
理由はコストパフォーマンス(月1000円程度)が他と比べて良いのと、日本ではあまり報じられない世界のニュースや学術的なニュースなどが話題の中心になるで、英語を学者する人の英語を勉強する動機との相性も良いと思います。
当然ですが読んでいるものによって、使われる単語熟語や構文にも偏りがあります。ですので、高校レベル以上の文法事項や英単語については、ひどく簡単なものでも知らないとか言ったことが起こります。
例えば、英字新聞ばかり読んでいたら、giggleなんて単語は全く出てきません。しかし、児童書の中では結構多用されるケースもあります。でも、必要になってからその時に覚えれば良いと思います。
雑誌のTimeをなんとか読めるレベルになるには約1万語の語彙が必要らしいです。語彙1万でも1ページにわからない単語がいくつもあるそうです。そのレベルになっても知らない単語は沢山ある。だったら逆に知らないことにそんなに神経質になる必要もない、と思います。必要になってから調べて覚える。これでいいと思います。
まとめ
- 多読を予習と考え、気になるところを気になるまま残しておく
- 繰り返し目にする気になるものを調べて覚える
- 多読を復習と考え、記憶に深く定着させる
自分が普段出会わないものや使わないものを神経質に覚える必要はないと思います。
多読と言うと多読以外は一切やらず、文法も単語熟語も勉強しないという人もいる様です。私は多読を勉強の中心に据えながら、たまに文法や単語熟語を勉強する、と言うのが効率的かな?と思います。
また、多読は英語はあくまでも道具として考え、新しい知識や情報を仕入れる事を主な目的にできる。だから楽しい!と言うのが一番良い点かな、と思います。
少しでも皆さまのお役に立てば幸いです。
システム開発時の規模とか、コーディングについて
システムの規模を測る時やテスト時のケース数の妥当性を測る時などなど、ステップ数で測ることが多いと思います。
でも、今の時代?昔から?ステップ数って本当に参考になるのか?ってずっと疑問なんですよね。
まぁ、でも昔カタギのおじさん?にはとても重要な事らしく、結構頻繁にステップ数を聞かれます。
生産性とは?
例えば、ステップ数で成果が測られるのであれば、短時間でたくさんのステップを書くことが生産性の高い行為となります。
わざわざシステムエンジニアやプログラマの方に言うまでもない事ですが、そんな事はありえないわけです。
コピペ
一番簡単に誰でも理解できる例はコピペです。
私がみた中でもベストに近い酷い例はこんな感じです。
コードを見てみると、丸っとコピペで作っていた。まぁ、ここまではよくある。
しかし、2つ目に作った帳票には、1つ目の帳票で定義し、2つ目の帳票では全く使わないメンバ変数とメソッドが丸々残されていた。3つの帳票は、言うまでもないですね。
でも、この人は短期間でステップ数を増やすという意味では優秀なんですよね。参照されない変数、呼び出されないメソッドをコピペで一瞬にして作りだしました。そして、呼び出されない訳ですから、そのコードからバグが検出される事はない。
しかし、修正する側からしたら悪夢そのものです。
何せ、一つの仕様変更で3箇所直す必要はあるし、影響調査の為にコードを調べていくと、呼び出されないメソッドやら、DBアクセスしてわざわざ値を設定してるのに、その後全く参照されないメンバ変数とか、山の様に出てくる訳です。当然、そう言ったことのないメソッドについても、何故そうしたのか?意味不明なコードが徒党を組んで迫ってきます。
まぁ、結局使えるパーツを残して全て書き直しました。結果、ステップ数は1/3以下になりました。
品質とは?
で、品質についてなんですけど、
上の例の元のコードと修正後のコードは、業務的には同じ価値を持ちます。機能が同じなので。
でも、テストケース数の妥当性を判断する指標がステップ数だとしたら、元のコードはステップ数が多い分、ケース数も多くなります。
つまり、もし同じ数だけバグをだしたら、修正後のコードの方が3倍品質が悪いということになってしまいます。何せ分母が1/3なので。
業務的に価値が同じ、つまりユーザに提供出来る価値は同じなのに、テストの工数が3倍かかる。でも、1つのバグの価値は1/3になる訳です。
短いコードを書く為に長いコードを書く
今やリファクタリングは一般的な事だと思います。短いコードがいきなり完成する訳でない。まずとりあえず、書いてみて、動かしてみて、そこがスタートラインなんですね。とりあえず、動くなんて状態は試作品。
そこから、メソッドやらクラスやら、データの持ち方やらなんなやらかんやらを考えて書き換える。で、これでいける!とか思って書き進めていくと、途中で思った様にできないとか、そのままの方針でもできなくないけど、なんかぐちゃぐちゃして読みづらい、とか。で、また別の方法を考えて書き直す。
出来上がった短いコードの裏には、採用されずに消えていった無数のコードが隠れている、普通は。
多分、コピペで適当に動きゃいいレベルのコード書いてる人よりずっと大量のコードを書いている。
でも、ステップ数で見る限り、生産性でもバグ発生率でも特にメリットがないどころかマイナスにしかならないんですよね。
コードメトリクス?
色々あげつらいましたが、現在私が何か困っているとか、不利益を被っているとかいう事ではないです。
が、アジャイルが流行って、その後、アジャイルは死んだとかいう人がでてきてて、開発に関する考え方ってすごい進歩してると思うんです。まぁ、私の現場までは届いていないですが。
で、色々進歩した結果、ステップ数に変わる認められた指標って何かあるのだろうか?という疑問がわいたのです。
私は相当時代遅れの職場にいる、3流システムエンジニアなのでよく知らないのですが、最近はコードメトリクスとかで、出来上がったコードの評価とか、ケース数のとかを出して、それベースで判断したりするんですかね?
これが一般的なんだったら、何周周回遅れなんだよ?!って自分を恥じるしかありませんね。
ただ、ちょっとググったくらいでは、実際こんな感じで管理につかってるよー、みたいな情報は日本語ではなかったですね。
私の中ではステップ数なんて、ずっと前から全く信頼していない指標なんです。ですので、少しでもプロジェクトをよく出来る可能性のある指標でプロジェクトを測りたいんですよね。
ただ、代案なしに、ステップ数なんか使えないですよ?とかいってもただの鬱陶しいヤツになってしまうので、コードメトリクスを少し勉強してみようかと思いました。
まとめ
- 規模も生産性もバグ密度も何もステップ数では測れない
- 無駄が少ないコードが出来上がるまでに、おびただしい数の屍コードが生まれている
- コードメトリクスでプログラムの質を測れる?
- これから真面目に検討してみる
最初の例に関してはコードレビューしろ、で終わりなんですけど、低予算のカツカツプロジェクトなので、最初の一本をレビューしたら後は放置なんです。
で、プロジェクト全体の品質指標とかそういったところまでを変更させる事はむずかいもしれない。だけど、コードメトリクス分析がある一定の基準を満たさないとコミットしちゃダメ、とかであまりに酷いものは機械的に排除する、とかいう使い方もあるのかなぁ、とぼんやり考えています。