「フローチャート」を含む日記 RSS

はてなキーワード: フローチャートとは

2020-10-16

anond:20201015012446

的外れかもしれんけど。

日常において、時間の流れを追うってやることがないから、

プログラムの流れを追うとか、その辺のハードル高いってがあるのかもね。

  

フローチャート蛇蝎のごとく嫌われてるけど、

初心者への説明ではとても有用かもしれんね。

状態遷移とか、オートマトンとかは置いといたとして、

自動販売機のしくみとかやったらどうだろ。

2020-09-29

大雑把な流れを把握したり、全部作った後に説明のためにフローチャート必要ってのはわかるけど

コード書く前にわざわざ作るのはちょっと

フローチャートに囚われて盲目になりそう。

フローチャート不要論てどうなん

本当に必要ないなら長い歴史の中に消え去ってるじゃん。

未だに生き残ってる事が有用である証拠じゃないのか。

まあ俺は嫌いだけど。

2020-08-27

フローチャートを書きたくない

ぼんやりしたままアレコレ作ってたらいつの間にか良い感じのものが出来たみたいなのが好き。

2020-08-17

小説を書いたこともないのに「私はいつか作家になる」という妄想に取り憑かれている

最初に言うが、これがそういうタイトル増田文学で、全部単なるフィクションなんてことはない。紛れもない事実だ。

私は今年で40になる。これはちょっと嘘。±30歳ぐらいの範囲で嘘をついてると思って欲しい。

そこそこ安定した業界の安定した職場正社員をやっている。給料は良くない。

ぶっちゃけこの仕事は嫌いだ。まず面白くない。労働時間も長めだ。スキルの身につきも悪く同業他社への転職だって苦しいだろう。なまじ安定してるせいで変な人間けが居着いて、ちゃん他所で生きていける人間は逃げていく。

「いつか自分小説家になってこの世界を出ていく」

こんな妄想にいつも取り憑かれている。

小説を書いたことは一度もない。

それっぽいものを書こうとして結局やめたことはある。

夜中にアイディアをひらめいてプロットエディタに設定を並べて、次の日見たらつまらなすぎて消したことが10回ほど。

それとパロディ小説流行っていた頃に、真似事をしようと匿名掲示板書き込み欄に妙なものを打ち込んで5分後に完全に飽きて消したのが3回ぐらい。

ハッキリ言って、この小説を書く以前の行為の段階で自分には才能と呼べるものがないことがハッキリしている。

アイディアは思いつかないし、文章力はないし、情熱も続かない。

小中学生の頃は青い鳥や角川の文庫をよく読んでいたので同級生よりはちょとばかり文章は上手かったが、それでも読書感想文の賞すら貰ったことはない。

ある時提出した宿題の出来が良かったのか論文コンクールへの応募を薦められ、好きにしてくれと教師に伝えたら後日参加賞をそっと渡されたことはあった。惨めだった。

最近ネットばかりしているから本もロクに読んでいない。

ブログ投稿内容を10年前と見比べると露骨に語彙が減ってきたなと感じる。

そんな状況なのに、私は今でも「私はいつか作家になるのだ。超売れるのだ。そして仕事をやめるのだ」と思い込んでいる。

信じられるかい

ツイッター面白い(と自分では思っていること)を呟いた時にいいねが2個ついたら喜ぶような人間が、作家として大成する可能性があるのか?

もうこんな妄想ぐらいしか自分には残ってないからなんだろうな、と。

まりにも毎日が惨めすぎるから何かしら妄想に縋ってないともう限界なのだろう。

たとえばこれが「仕事大成功する」とか「エンジニアとしての才能に目覚める」だったりすれば、きっとそれはもっと生々しい実感を伴って日々何も積み重ねていない自分の姿を映し出すことになるのだ。

小説家になる」というアホみたいな夢だからこそ、本当に何もしてないままでなんとか夢を見続けられているに違いない。

なにせこうやってどうでもいい言葉を書いたり読んだりするだけでも「読み書きの練習」だと言い張れるんだから

これが「絵描き」だとか「音楽」だったりしたら大変だ。

インプットはともかくアウトプットにはそれ相応の労力が必要になる。

ネットプログラマーにもイラストレーターにもなれない奴が小説家を目指すというフローチャートが貼られたが、そのどうしようもなさがいい方向に働いているのだ。

とにかくこの妄想は私が死ぬか、次の妄想に取り憑かれるまで続くのだ。

しろ、私の人生貶めるような妄想から私を守ってくれているのがこの妄想と言える。

宗教や薬物や恋愛人生の逆転を求めてのたうち回らぬようにするためのものだ。

お菓子の袋に窒素パンパンに詰まっているのと同じだ。

自分人生に余計な劇物を混ぜ込まれないよう、なにかコントロールしづらいものが始まらぬよう、不活性な夢を詰め込んで空虚なままにしているのだ。

昔2chでみたコピペ人生を壺に例えるのなら、小石や水を詰めてしまう前に大きな岩を入れなさい」。

あの話における岩を自分人生に入れることも出来ず、かといって手頃な石を必死に集めて人生価値を取り繕うのも面倒だから、風船を一つ押し込んで人生を終わらせることにしたのだ。

このままつまらない仕事を続けて、結婚もせず、大した趣味も持たずに死ぬ

酔生夢死を夢見ながら実際にはそれなりの苦痛を緩やかに味わい続けて命が潰えるのを待っていく。

そのための連れ合いとして必要不可欠だからまれた夢だったのだと思う。

夢に酔えば現実からはピントが外れる。

全て忘れたい。

こんな程度の人間に生まれたことも、生きるために人波の中でゆっくり針のむしろを感じて生きる時代の中に生まれたことも。

何もしたくない。

何もせずに生きていたい。

だけど、いつか何かが起きて生きててよかったと思えるから自分に騙されてここまで生きて、今更何もなくて終わらせるのは耐えきれない。

から夢が必要だった。

それで選んだ夢がこんなものか。

何の才能もないから「小説家を目指す」ことにしたのか。

それで結局、何もやっていない、と。

どうすればいいんだ。

駄目だ。

自分で書いて読み返すのもキツい。

添削もせずに投稿するから誤字が多いだろうが気にしないでくれ。

2020-08-07

anond:20200807102017

仕事タスクの整理、自分は何に対して責任を持つかを明確にしてればそんなに苦労することはないんだよ。

効率良くするというのは大事だけど、それ以前の問題上記のことができてない人がいる。

多少効率が悪かろうがゴールが見えていれば案外なんとかなる。

ゴールが明確化されていないのは上の指示が曖昧だったりもする。

効率化を考えるのはそれからだよ。まずは仕事に対して頭でどれだけフローチャートを描けているか大前提

2020-07-30

anond:20200730190659

使ったことはないけどそういうツールもたぶんあるだろね。

ただその場合、出力したフローチャートに表示する処理の和名とかをソース上に書くことになって

そのお作法結構煙たいだろな

anond:20200730185613

業務分析が8割のプログラム仕事だと、フローチャートが出来上がった時点で半分終わったも同然なんだよ。

フローチャート通りに作れば完成するだけなんだから

一方で、そもそもフローチャートが書けないプログラム場合フローチャートはそれこそA4一枚の概略でしか書けなくて、詳細は実装時にファインチューニングしないといけないことになって、それはもう

フローチャートを書き終えた時点とはまさに始まりしかない。

anond:20200730190036

大筋の処理の流れをフローチャート表現して

描ききれないような細かい部分は別の仕様書に書けばいいと思うけど

フローチャートは改修が入ったときメンテ面倒でおいてけぼりになりがちではある。

anond:20200730185613

基本的フローチャートに書ききれないことが多いと思うからあってもあんまり意味ないことも多い

自動車とか安全性が最優先のもの必要だったりするかもだけど、俺は組み込み系のエンジニアでもないのでわからない

プログラマにとってフローチャートているのいらないの

フローチャートが書ければ半分終わったも同然て人とあんなんいらんして人いるけど。

2020-07-22

匿名性について

なぜ人は匿名文章を書くのか

・本題に関してのノイズ的な反応を排除できる

 名前を公開すると経歴にも結び付けやすくなる。経歴を文章と同時に公開すると本題より経歴についての反応が来ることも多い

・同じ人物の判定がしにくくなることにより、上記と同様にノイズ排除できる

 よっぽど特徴的な文章、主張でない限りは同一人物であることが判断されにくい

特定されないことにより、反論の多そうな内容も書くことができる

 やべーやつに追いかけられて粘着されることもない

そしてなにより、

無名一般的人間場合名前を公開するより匿名のほうが不特定多数人間文章を読んでもらえる率が高い

他にはどんなメリットがあるだろうか

なお、現状況では匿名でも誹謗中傷は訴えられる実績が多くできた上に、

今後はもっと簡単に訴えられるフローチャートができ共有されていくだろうので、

昔のように匿名で気に入らないやつを好き勝手ボロクソ叩けるメリット消滅していくと思われる。

10年以上前ならともかく、いまだにやってるやつはすげーな。

2020-07-13

プログラミング入門書を読む前に

プログラムとは

と言うのを辞書っぽく書いてもよくわからないと思うので、ここでは「小さな指示をまとめた手続き」ぐらいの説明で十分だと思う。

イメージで言うと、

と言うような感じ。これがプログラムです。

この例で明らかにしたいのが、基本的プログラムは上から順番に実行される、と言うこと。

プログラムを書くときは5歳児に説明するイメージ

大人ならさっきの例でお米が炊けると思う。じゃあ5歳児ができるか、と言うとちょっと説明が足りないと思う。どうかな? 実は子供を育てた経験がないので、5歳児がどれぐらい賢いかからない...。でも次の例ならいけるんじゃないかな。

  • お米をカップに「2」杯とり、ボウルに入れる
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(1)
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(2)
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(3)
  • 釜にお米をうつし、内側に書かれてる「2」の線まで水を入れる
  • 釜を炊飯器にセットし、スタートボタンを押す

どうだろう? できそうじゃない? これは例だから感覚的な感じだけど、実際のプログラムを書くときの指示の細かさはだいたいこれぐらいだと思う。

自分がやりたいことをプログラムに起こすときは、5歳児に教えるぐらいの気持ちでやるといいと思う。本物の5歳児はもっといかもしれないけど...。

暗記力のある5歳児を相手にする

暗記力のある5歳児だと、

  • 最初に取り出したお米のカップ数と、釜に水を入れるときの線の数字は同じ
    • 例えば最初に取り出したお米が2カップなら、釜に入れる水の量は2の線
      • 同じように、最初に取り出したお米が3カップなら、釜に入れる水の量は3の線

と言うのを覚えることができると思う。パソコンは5歳児より暗記力があるので、パソコン向けのプログラムなら安心して覚えてもらう前提で書ける。

  • "今から炊くお米のカップ数" : 2
  • お米をカップに "今から炊くお米のカップ数" 杯とり、ボウルに入れる
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(1)
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(2)
  • ボウルに水を入れて、猫の手で5回かき混ぜ、水を捨てる(3)
  • 釜にお米をうつし、内側に書かれてる "今から炊くお米のカップ数" の線まで水を入れる
  • 釜を炊飯器にセットし、スタートボタンを押す- "今から炊くお米のカップ数" 分のお米を

これで 1 合でも 5 合でも炊けるようになった。釜さえ対応できれば 100 合でもいけるはず。これがプログラミング変数って呼ばれるやつです。

お米は何回とげばいい?

ここまで、お米をとぐステップは 3 回やればいいってことにしてたけど、2回でいい時もあれば、4回やりたい時もあると思う。箇条書きにしてみよう。

1. ボウルに水を入れて、猫の手で5回かき混ぜる

2. 水を見て、真っ白に濁っていたら 1. に戻る。うっすら濁る程度なら次に進む

ちょっと複雑になった。でもこれでいい感じにお米がとげると思う。プログラミング解説書を読んでいると「制御構文」ってやつが出てくるんだけど、これです。上から実行するはずのプログラムが、また上の行に戻ったりするのが面白いね。

プログラム雰囲気をより掴むためにそれっぽく書いてみると、こうです。ふーんって感じで見て。

	for {
		// KomeWoTogu(ToguKaisuu): コメをとぐ命令コメを研いだ後にはどれぐらい濁ってるか(0.0 〜 1.0)を教えてくれる。1.0が真っ白。
		nigoriGuai := KomeWoTogu(5)
		if nigoriGuai < 0.5 {
			break
		}
	}
	// 続きの処理...

実は "(1) に戻る"、みたいな意味命令もだいたいのプログラミング言語にあるんだけど、プログラムが読みにくくなるのであまり使いません。ここではループって言う繰り返し処理に置き換えてます

急に難しくなった気がする

気がしませんか? 気がしない人は大丈夫。難しい気がした人にはおすすめツールがありますフローチャートっていうの。

https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AD%E3%83%BC%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88

これは限られた図形を使ってプログラム解決したい課題表現するので、課題理解するのにとても役立ちます

プログラミングを初めて最初のうちって、「自分がやりたいこと」と「プログラム表現できること」の間に谷があって苦しくなることがあると思うんだけど、そういうときは落ち着いてフローチャートを書くといいよ。慣れてくるとフローチャートなしでバリバリ書けるようになります

2020-07-08

晩夏を思う

大きめの銀行就職して3年たった。

就活生には申し訳ないが、弊社の採用サイトなぞデタラメだ。

あんなことできるこんなことできる、確かに事実なのだろうが、そんなことが出来ているのは結局のところエリート採用された上澄か、所謂大都市拠点支店に初任で配属された一部の人間ばかりだ。自分をはじめとした圧倒的大多数は地方の、さらに片田舎支店に配属され、一生同じような仕事を繰り返すことになる。まさに歯車と言っていい。尊敬していたかなり年上の先輩は「手をあげ続けてきたけどチャレンジすらさせてもらえなかった。」とかなんとか言って他所に移って行った。研修に行けばいつ辞めようかあいつはもう辞めたと言った話ばかり。

とは言え楽しそうに仕事している人がいるのも事実10年目ともなると担当先も案件のある先が増え、仕事もある程度自分で回せるようになり、それなりのやりがいを覚えるようだ。若手で楽しそうに仕事している人は稀だろう。大概は支店の、誰も持ちたがらないような先を持たされて疲弊している。若手で楽しそうに仕事している人間は、本当に案件と同僚に恵まれたか、よほどの営業の才能があるか、あるいはただの馬鹿だ。「これまで誰も掘れなかった先を持ってるんだぞ。やりがいしかないだろう。」本気でこう言ってきているのなら余程の呑気であるし、闘魂注入のためであればこれも余程の呑気だろう。

外回りしろ、じゃないんだ。準備してから訪問しろ、じゃないんだ。どこに何が書いてあるのかわからないような手続き書と睨めっこしながら通常の事務をまわしつつ、好き勝手まれ雑用をこなしつつ、誰もやりたがらない支店お荷物先の対応をしてるんだ。いつ潰れるかもわからない会社でご奉公なんて時代じゃ今はもうないんだ。

銀行採用は実に卑怯である。上の人間仕事に集中できるように若者使い捨てている。雑用を、前の世代の尻拭いを、無駄に抱え込んだ不採算先を全て若手に押し付けるために、キラキラした「バンカー」を喧伝し、これまで大量採用を続けてきたに違いない。徐々に減ってきているとはいえ今もそうだ。離職率を見ればわかる。そして生き残った人々が自覚無自覚か知らないが同じことを続けていくのだ。僕は事務屋さんではない。20代をこんななんのスキルも身につかないような場所で終えたくない。3年で身についたのは「おっしゃる通りです。」「申し訳ございません。」のスピードだけだ。財務エクセル英語も、何もわからないまま。仕事書類を擦り出して一枚一枚丁寧に付箋を貼って、上司印鑑をもらうだけ。親が泣いているぞ。

給料世間的に見れば〜という話もあるだろうが、自分の周りを見れば圧倒的に低いと言えるだろう。聞いた話では若手の給料は庶務さんと同じ程度だそうだ。ことによれば事務お姉さまよりも断然低い。「私たちには責任は取れないので、そちらで判断してから持ってきてください。」だったら判断の分だけでも俺の給料を上げてくれ。もちろん堅確な事務車の両輪の如く大切であるのは間違いない。ただ、どこまで行っても若手は事務処理要員の一つとしか見做されないのだなあと思うとやりきれない。

銀行業界も内部の人間ももうめちゃくちゃだ。銀行に限った話じゃないのだろうけれど。

業界はお互いにお互いの首を真綿で締めあっていると言える。採算度外視金利競争地方地方でズブズブの企業人間関係。じゃあ今度は金利じゃ儲からいか手数料だ。収益を上げろ。そうして投信を売る。かつてはゴルフ会員権を売った銀行もあったそうだ。流動性が桁違いなので全く同じとは言わないが、似たものを感じる。顧客第一主義とは何か。本部から還元される資料には必ず「切り返し話法」が載っている。洗脳と変わらないじゃないか

内部も内部だ。本部の言うことは一貫していないし、表彰ルールだってややこしい。あれしてこれしてこうして下さい、分厚いルールブックを配られて、それでもよくわからないことだらけ。皆が上席に忖度して媚び諂っている。風通しが良いふうを装っているあるいは本気で信じている上席はいるが、結局のところは自分意見が正しいのだ。誰も自分意見は言わず、本人のいないところで愚痴を言うだけ。

「やめられない」のは一番悪いところかもしれない。今やどこの支店セコムやらアルソックやらを導入しているのに、いまだに金庫内のキャビネットの鍵すら丁寧に施錠している。セコムが破られて、分厚い金庫まで破る相手キャビネットの鍵がなんだと言うのだ。そう言う決まりから。これで終わりなのだ。鍵の開け閉めに一日30分はかかっているのに。朝礼も無限に長くなっていく。と言うかそもそも毎日朝礼する必要があるのか?あれもこれもとコンテンツを追加していって、結局始業の時間ギリギリになっている。知っていると思うんだけど、時間は有限だぞ。

仕事の仕組みも散々だ。手続き書に全てが書いてあるはずの銀行業務は、確かに全て書いてあるのだが、各所に分散していて、そこを参照すればいいのかは経験に強く依存している。ある業務を行うにはこの手続き書と、別の手続き書と、あの通達と、どこにも書いていないあの様式書類を添付する必要がある、なんてのはザラだ。掲示板もいくつもいくつもいくつもあってまるでキメラのようだ。

この原因はおそらくデジタル化の勘違いからきていると僕は考えている。要はかつて銀行業務パソコンを導入した人たちは「紙でやる業務ワープロを導入した」世代で、上にならえの我が業界人たちは長いことこれを踏襲してきているから不便なのだ

定型的な業務であれば全て一つのシステムで、一気通貫に、指示通りの動作を行っていけば約定・実行まで終わるようにできて然るべきだろう。いくつもいくつもシステムがあって、それに対応するようにいくつもいくつもパスワードがあって、結局皆覚えきれずに手帳なりノートなりに一覧を作って管理している。何もかも無駄である銀行にはこれを改革することはできない。お客さんには新しいシステム!を案内しておきながら内部でやる事務はなんら変わっていないどころか手間が増えていたりする。これじゃできの悪いハリボである採用もそうだが外面だけ立派で中は人を消耗するボロボロシステム銀行である。偉い人々はもう使うことがないから忘れているのだろうが、次世代金融どころの話ではない。そういった妄言はまず中身を整えてから、せめてそういった姿勢を見せてからだろう。若手はもう限界だ。文句を言うくらいなら手続きを覚えろと言うのは全くその通りであるが、人材流動性が高まろうといった現在手続きと言うある意味本質的でないところで時間を取らせる現在システムのままでは人材の受入はできないだろう。

銀行人材斡旋すると言うニュースがある。世間がどの程度銀行人材を誤解しているのか知らないが、その太宗は大したスキルのないおじさんたちである排出は考えるが受入は考えない、いつまで殿様のつもりなのだろう。銀行働き方改革などと言う訳のわからない施策を講じる前に仕事の仕組みを改めて整えるべきだろう。

サービス大事だと偉い人は言う。寄り添った提案大事だと。僕はそうは思わない。これは特にリテール分野の話ではあるが、真に投信等に関心があれば手前でやるのだ。それも手数料の安いネット銀行で。ソニー銀行は口座開設からから便利だし、楽天銀行UIは流石楽天まり良くないが結局便利だ。僕自身のメインバンクネット銀行だ。寄り添った提案なぞ今働く世代にはできっこない。どうせ同じ時間帯で働いているのだ。寄り添った提案、結局のところ金持ち年寄りに媚びて情に絆すだけのサービスに過ぎない。フローチャートを細かくすればそれこそネットで出来ることだ。

日本は多くの人が銀行口座を持つ珍しい国だと聞く。この傾向は続くだろうがそれはネット銀行に偏るだろう。店舗型の銀行は今のままでは本当にただコストだけ抱える過去遺物に成り下がるだろう。いっそ法人個人を全く別の銀行にしてしまえとさえ思う。そっちの方が余程効率がいいだろう。

偉い人曰くサービス大事なのは銀行が同じような商品を取り扱っているからだと言う。確かにそうだ。特に法人分野はその傾向が強い。担当者の能力に依るものは大きい。一方で個人分野では少し違うんじゃないか、見落としがあるんじゃないかと思う。

我々商業銀行商業銀行であるが故に、もっとブランド意識するべきだろう。それは金持ち年寄りに対する温い媚びのサービスであってはならず、どちらかと言うとアップルカード連想されるような、スマート商品開発だ。キャッシュカードやらスマホアプリやら、実は銀行には他行差別化の図れる商品がいくつかある。保有して人に自慢したくなるような商品の開発こそ、何も捨てられない銀行いつまでも大衆銀行であるために必要なことだろう。

なんだってやるべきだ。いつまでもジャケットを着てるのではなく、ポロシャツを着て街に出るべきだ。銀行タイアップしたカフェやらコーワキングスペースやらをもっと作るべきだ。せっかく無駄資産をたくさん持っているのだから。無形の価値を、ブランドを、高めて向こうからやってきてくれる銀行になるべきだ。〇〇BANKがお洒落スマート代名詞になる日がくればいい。BANKの語源の確かなところは知らないが、いずれにせよ皆が腰掛けることのできる公器たるべきだ。因みにポロシャツエスカレーションラダーを増やすといった意味でも是非とも推進するべきだ。普段カジュアルであるからこそスーツがより際立つのだ。振り切りが大事だ。年寄りと金持ちには徹底的に媚びよう。大理石造りの基幹店を作ってもいい。マホガニーかなにか高級な素材を使った店内で、徹底的に厚遇すれば良い。そしてブランド大衆を惹きつけよう。認知なくしては居ないものと同じなのだ

思うがままに書き連ねて、推敲すらできていないが、日々感じるストレスの中、間も無く来るであろう異動を思い、こんなことを書いてしまった。

普段業務ではこんなことできない。つまらないオトナ達が上の顔を見ながらクソみたいな施策を出してくるのを見守るだけだ。

仮にこう言う仕事ができるような年次になった時、おそらく僕もそういったクソみたいな大人になっていることだろう。

人事へ。探さないでください。なんだかんだ言って僕はまだクビにはなりたくありませんので。辞めるまで待ってくれよな。

何もできない若手の、根拠もない取り止めのない妄想である。これを根性のない若手と切り捨てるのは容易だ。僕でもそうする。ただ、そうして肥大してきた結果が「必要とされない銀行であると言うことは偉い人は強く認識するべきだろう。だから、少しでもいいから真の改革姿勢を、我々が充実して働けるような未来を見せて欲しい。何を言ってるのか自分でもわからなくなってきたな。いつかもっとまとめて書くこととする。

2020-07-01

マインドマップに対する誤解

自分は今までマインドマップ情報を整理するためのツールだと思っていたがそれが間違いであることに気づいた。マインドマップは中心テーマから連想ゲームを繰り返し思いついたことをひたすら書き出すツールでありコンセプトマップフローチャートMECEのように情報組織化するツールではない。

マインドマップ公式本にはマインドマップを使った記憶法や読書法が紹介されているがこれには無理がある。記憶読書目的無秩序情報組織化することだからマインドマップは役に立たない。しかし、マインドマップが何かを発想するとき有用ツールであることは間違いない。

2020-06-25

SNSとか増田的なところを見てて思うんだけど

世の中には3つ以上の陣営認識できないって人が相当数いるよね?

議論的なものをなんでもA派vsB派という2陣営の対決としか認識できない人と言い換えた方がわかりやすいかな?

SNSにはベン図やフローチャート樹形図なんかを描画する機能を設置してほしい

2020-06-14

「こいつプログラミングセンス無いな」と思う奴の特徴

頼むからセンスのない奴はプログラマにならないでくれ。迷惑から

不要ものを作りたがる

これが最もプログラマになってはいけないタイプ犯罪行為などの言うまでもないことを除けば)。

たとえば

等。

組織で開発する上で、こういう人がいるメリットは無い。

不要ものを作ることで、プログラムは複雑になり、メンテナンスの手間は増え、バグは発生しやすくなる。

一定レベル以上のプログラマが最も自然だと同意するような実装(「実装しない」という選択肢もふくめて)をパッと思い付けない奴は、センスが足りていない。

将棋で言えば、駒がぶつかったら先ず取る手を考えるといった基本的な手筋が思い浮かばないようなもので、現実的に使い物にならない。

基本的コードなんて書かないに越したことはない。

これは、「Code Complete」「The Pragmatic Programmer」等の著名なプログラミングの本に共通する結論である

DRY原則を守らない

すべての知識は、システム内において単一の、曖昧さのない、そして信頼できる表現を有していなければならない。

これが「The Pragmatic Programmer」にあるDRY原則である

要するに、すべての情報単一ソースから決定されるべきということだ。情報が二重化すると、それらの間で不整合が生じバグの原因になる。また、二重化した情報は、修正の手間が二倍になる。

たとえば、ユーザープロフィール管理するレコードクラスに「生年月日」と「年齢」を同時に保持する必要はない。年齢は生年月日から計算できるからだ。

世の中には、「xxxFlag」みたいな不要変数を作ったり、共通ロジック抽出せずにコピペコード濫造するダメプログラマーが多すぎる。

もちろん、合理的理由があって、この原則適用されない場合もある。

たとえば、多くの言語組み込み配列文字列は、その要素と長さを二重に管理している。配列の長さは要素を数え上げることで求まるが、それには要素数に比例した計算時間がかかるためだ。

ただし、こういう場合でも、公開されたメソッドによる操作では、必ず内部の変数は同期されるように作ることが可能である。それをしないのは、怠慢でしかない。

変数命名が雑

文字変数とか連番とかは論外だが、「ary」とか「setData()」みたいな何の情報も伝えないような変数名・関数名を付けるやつ。

正直、コードの読みやすさなんて6〜7割くらいは変数名の付け方で決まると思っている。

名著「The Art of Readable Code」も、半分以上が変数名の付け方に関連する内容だ。

なぜ変数名が曖昧になるのかと言えば、怠慢を除けば理由は2つある。

1つは、コードを書いた奴自身が、そのコード機能を明確に言語化できないということ。

もう1つは、1つの関数で多くのことをやりすぎたりしていて、その変数役割曖昧になっているということ。

スコープを広げたがる

変数関数を参照できる範囲のことをスコープという。

たとえば、関数の内部で宣言した変数は、多くの言語では関数の外からは参照できない。

スコープは狭い方が良い。これはほとんど全ての状況に適用できるプログラミング大原則だ。

スコープが広いということは、ソースコードの多くの場所からその情報を参照・変更できることを意味する。

たとえば、クラスのメンバ変数は各々のインスタンス内でしか参照できないが、静的な変数はすべてのインスタンス共通に持つ。このため、静的な変数を変更すると、すべてのインスタンスに影響を及ぼし、影響範囲の把握やテストが困難になる。

スコープを広げるか狭めるか、2つの選択肢があったとして、広げる方に心が傾く奴は、プログラマをやめた方がいい。

結果的メンテナンス困難なコードを生むというのも勿論だが、単に書くだけでも、スコープが広い方が書きづらいのだ。つまり必要もないのにわざわざ変数スコープを広げようとする奴は頭のおかしい奴しかいないということになる。

コードが長い

複雑なメトリクスなどを持ち出すまでもなく、たとえば1メソッドの行数が何百行もあるとか、1クラスのメンバ変数が何十個もあるとか言うの。

これは論外であるプログラマとしての能力云々以前に、明らかな怠慢であり、社会人としての常識が疑われる。

定期的にメンテナンスされ続けているOSSソースコードなどを見ると、関数メソッド)の行数は平均して5〜10行。20行を超えるものは稀である

長いものであっても、外部で定義した関数を順番に呼び出しているだけであったり、リクエストハンドリングして各々の処理に振り分けているだけのようなものほとんどである

それを超えているコードは、合理的理由があってそうなっていることよりは、単に悪い設計であることの方が多い。

結論

これらは実はプログラミング云々というより、内容の理解力国語力の問題なのである

ある情報を得るために必要十分な情報は何かが分かってないから、余計な変数を作ったり、無駄変数スコープを広げたりする。

そして、自分が作るものを正確に理解していないから、適切な名前がつけられないし、適切なモジュール分割ができない。

それがすべての原因。

こういう人がまず身につけるべきは、プログラミングテクニックではなく、日本語を正しく読む力。

低学歴が「プログラミングなら自分でもできるかも」なんて思っちゃいけないってこと。もちろん、下請けSIerとかで使い捨てコード書きとして働くことはできるが、上に書いたような最低限の力がないなら、それ以上を望んではいけない。

ちなみに、上に書いていることと反対のことを思っている人も世の中にはいる。

特に、昔からプログラミングをしてきた自称ベテランに多い。その人は、能力があるというよりも、単に現代の開発に際して必要知識がないだけなので、真に受けないように。

また、大学コンピュータサイエンスの基礎を学びたての学生なども、知識をひけらかしたくて上と反対のことを言う傾向がある。その程度のことは、良識のあるプログラマはみんな分かっているのだが。

2020-05-20

ネット議論もどきときにいつも思うんだけど

有象無象が集まってきて各自前提条件のズレだ話をぶつけあって無限ループしてるよね。

AがBという前提ならばCがうんぬんみたいな話してるところに

そもそもAはZなんですけどー?とか混ざってしっちゃかめっちゃかになってる。

論理構造?のフローチャートみたいなのを用意して今の論点ココです

みたいに表示しながら話せばいいのにね。

2020-05-12

給付金ネット申請フローチャートクリアできたやついるの?

マイナンバー持ってればいいんじゃないのかよ

なんやねん電子証明書って

作るところに〇しまたかしませんでしたか?覚えてるわけねーだろ!!

そんで何それをクリアしたとして今度はパスワード

覚えてねーよ!バーカ!!

頻繁に使うものならいいけどこんな年に一度使うか使わないかパスワード覚えるわけねーだろ

つか特に使いみちもなく数年前に発行してようやく使いみちで来たと思ったら

パスワード!!知らねーーー!!

え?マジで意味わからん この番号自体パスワードみたいなもんやないの?そのためにわざわざ番号隠してるんやないの?

とりあえず俺が住んでるところは振り込み6月下旬らしい

うん 〇ね

2020-04-25

ごねているとか、交渉しているとかではなくて

フローチャートでどっちかきいているだけなので、

いつもの定型業務

2020-03-04

anond:20200304010810

反論する人は多いし、反論する人の意見を受けて「エンジニア」と名乗らなくなった人もいるよ。

プログラマ」はかつて書かれたフローチャートコーディングするだけの仕事だったから、そうではないものを作る人を指すために「ソフトウェアエンジニア」とか「ウェブエンジニア」とか言い始めただけで、大抵の人は「エンジン扱っていないのにエンジニア…」「エンジニアは生死を覚悟しているのに…」とか微妙気持ちを抱いているよ。

HTML コーダを「フロントエンドエンジニア」って言い出したのも「コーダ」の地位が低すぎただけで、いずれ正しい呼び名になる…と思いたい。

2020-02-27

ログイン ユーザー登録
ようこそ ゲスト さん