「スパゲッティコード」を含む日記 RSS

はてなキーワード: スパゲッティコードとは

2024-08-01

anond:20240731220320

真島ヒロレイヴ続けてたら最高だった

ニワカはすぐ「超えた」とか「昇華した」とか言うけど、漫画業界こそ継続は力なり、世界観煮詰めてスパゲッティコード生成してなんぼなんだよな

2024-07-03

anond:20240703042923

そういう簡単作業は別の仕事やりながら空き時間でやってるんで、GPTができたからって仕事なくなるもんでもないでしょ

それとも、毎日議事録ばかり書いてお給料もらってる人いるの?

あと、レガシースパゲッティコード要件レベルスパゲッティになってるので、コードAIにお守りしてもらったからってどうにかなるものでもない

2024-05-03

IT土方仕事ストレスを感じるとき

曖昧な指示をされたときコミュニケーションコストストレス

量が多く期限も短いとき残業前提で仕事

納期が短いのにタスクの切り方がざっくりしすぎてるとき(終わらないよ)

修正仕事設計書が更新されてなくて、コードを見たらスパゲッティコードで読み解くのが難解だったとき(読み解くのに脳みそが焼ききれて鬱になるよ)

修正対象としたけど、その機能の使い方が誰もわからなくて、あとから今はもう使われてない機能から対象外としていいと後で言われたとき(消せやそんな機能紛らわしい)

不機嫌なオーラが漂ってる現場アサインされたとき

用語をググっても出てこない業界の基幹システム改修案件のとき

隣の人がタバコ臭とき

オフィスがうるさいとき

ウンコしたいのに個室が空いてなくてウンコ行列が出来てるとき

定時後は45分休憩時間現場だったとき作業してたから、45分の労働として残業代つけていいか聞いても駄目だと言われたとき

言われてないからやらなかったら気を利かせろと言われたとき(言われてないこと気を利かせてやったら怒るくせに)

IT土方以外の仕事につく未来が見えないとき

2024-04-20

anond:20240420105459

このAI説明が正しいならデバッガーが不要と言ってる、って話はかなり違うよな。

ここで書かれてるレベルのことは事前の取り決め等で発生を未然に防げることでしかないので、つまりブルシット・ジョブの人が言いたいのは

発生が十分に予想される問題に対して対策可能であるにも関わらず何の対策もしないことによって不要仕事が発生している、という話でしかなくデバッガーが不要という話では全くないよな。

スパゲッティコード: 構造が複雑で理解しにくいコードは、バグ発見修正が困難となり、多くの時間を費やすことになります

コメントアウトされたセクション: 使用されなくなったコードが適切に削除されずに残っている場合コード全体が読み解きにくくなり、メンテナンス性が低下します。

一貫性のないコーディングスタイル: チーム内でコーディング規約統一されていない場合コードの可読性と保守性が著しく低下します。

AI『ブルシット・ジョブ』についてお尋ねですね

「ブルシット・ジョブ概念提唱

人類学であるデヴィッド・グレーバー氏は、現代社会において多くの仕事無意味であり、社会にとって価値を生み出していないと主張しています2018年出版された著書『ブルシット・ジョブ:クソどうでもいい仕事理論』の中で、彼はこのような「ブルシット・ジョブ」の存在について論じています

 

 

ブルシット・ジョブの特徴と分類

グレーバー氏は、以下の特徴を持つ仕事が「ブルシット・ジョブである提案しています


○ 具体的な例
  1. 取り巻き: 上司経営者などの権威を誇示するために存在する仕事
  2. 脅し屋: 雇用主の利益のために、他人脅迫したり欺いたりする仕事
  3. 尻拭い: 本来発生すべきではない問題を処理・修正する仕事
  4. 書類穴埋め: 実際には何も成果を生み出していないことを示すために作成される書類作成などの仕事
  5. タスクマスター: 必要のない仕事を次々と作り出し、部下に割り当てる仕事

具体的なブルシット・ジョブ職業

企業法務、テレマーケティング広報、一部の管理職などが、「ブルシット・ジョブ」に該当する可能性があります。これらの職業は、必ずしも社会に貢献していないと断言することはできませんが、その価値が明確に見えにくい場合が多いと言えます

 

 

○ 粗雑なコード修正するプログラマー

粗雑なコード修正するプログラマーは、「尻拭い」のカテゴリーに分類される可能性があり、以下のような問題に直面しがちです。

 


○ 具体的な例

 

このような状況下でプログラマーは、本来創造的な活動であるはずの新しい価値を生み出す作業ではなく、過去の過ちの修正に追われることになります。これは、ソフトウェア開発プロセス全体に大きな問題があることを示唆しています

2024-02-07

anond:20240207223558

就活にも役立たないことはない

技量としてはスパゲッティコードを読み解く力は異様につく

設計知識等々は全くつかない

2024-01-17

有能な人が辞めたら困るというのが嘘だとわかってしまった

俺は『あの人に辞められたら困る』と思われたいタイプ人間。だからなるべく有能であろうとしている。

アイツは必要だったんだ!って言われたい。

でも最近、有能な人間が辞めても全然困らないことがわかってしまった。

辞めて困るのは、むしろ無能人間

職場でもエースクラスの有能な人間が辞めた時、仕事は整頓されていた。引継ぎも円滑で、何だったら何も困らなかった。

遠大な目で、長期的な視点で、大枠で考えれば有能な人間が辞めることは損失なんだろう。

でも、現場としては大して困らなかった。

無能が辞めた時は大変だった。

仕事がとにかく絡まっている。誰相手に連絡をどのようにとって、どのような仕事をしているかからない。

そして仕事のやり方がヤバい下請けの人に負担押し付けまくっていたり、都合よく嘘をついて仕様ですと言い張っていたり。

ブラックボックスがとにかく多く、スパゲッティコードのような仕事を紐解き、そして置いて行った爆弾解体しなければならなかった。

いつか爆発する爆弾を処理する時が早めにきた、という考え方もあるだろうが、無能会社にいれば色々楽だったはずだ。そいつ供述もさせられるし、責任も負わせられる。

だが、ヤツはもういない。

俺は、俺が辞めた時「有能なあの人がいなくなって困る」と思われたかったが、いなくなったら本当に困るのは、無能の方なのだ

現場は有能より、無能が辞めると疲弊する。

2023-12-09

最短時間理解可能コードとは

コードを書く上で重要なことは?という質問に対して、アスペならば「実行できること」と答えるだろう。

当たり前なことしか言っていない。「実行できること」という文からは全く有益な知見を得られない。

実行できることは重要性ではなく、必要性である重要性とは、必要なことをすべてやった上でなおやる価値のあることを意味する。

そう考えた時に私がよく思うのは「最短時間理解可能であることが重要であると思うわけである

しかしここに宗教がある。そもそも人間物事理解するプロセスは人それぞれである

私は一度、関数モジュールで適切に分離するためのリファクタリングというものを行ったことがある。

というのも、一つの関数に万を超える行が書かれていたため、上司リファクタリング命令したためである

具体的詳細はprivateメソッドに、公開する必要のあるものはpublicメソッドに移した。

そして当初働いていた職場での反応はどうだったかというと、「スパゲッティコード」だというのだ。

スパゲッティコード?一つの関数に万を超える行があるほうがスパゲッティだと普通は思うだろう。

ところが、彼らの脳内では、「常にコードの詳細が見えていなければ気がすまない」という、カプセル化無視する思想で動いていたため、関数化すると関数の最下層まで辿らないと気がすまないらしかったのである

このようにして、教育の無い人間コードの読み方もカプセル化も知らないので、非生産的方法が最短の方法になってしまうのである

コードを最短で理解するためにはどうするのか。基礎知識教育された集団の中に身を置くのがまず先決である

例えばcalc_monthly_salary_yen(Person p)という行が存在した時、いちいちcalc_monthly_salary_yenの中身を常に見に行くような人たちはダメだ。

人間データ入力すれば円単位で月の給料計算してくれるんだろう」とざっくりと自然言語的に読み進められる人たちでなければ「最短理解」は難しい。

まり最短理解するためのコードを書いた時に、それが本当に最短理解されるためには事前の教養必要なのである

教養のないところに生産性はない。悪いことは言わない。ゴッドオブジェクト管理するような会社からは逃げ出せ。

2023-04-26

anond:20230426151906

「腹が減った?お前のスパゲッティコードでも食ってろ」

ソースしかありませんので・・・

2022-08-29

スパゲッティコード」はイタリア人に失礼なので使うな

ぐちゃぐちゃのコードスパゲッティコードと言うがこれはイタリア人不快にさせる。ポリコレ観点から言うのをやめるべきだ。

2022-08-28

次の仕事何が来るかわからない。

何やってるか分からんレベルスパゲッティコードが来るかもしれないな。

2022-07-25

Pull Requestはプログラミングを嫌いにする

プログラミング能力を向上させるのに必要なのは

難解な解説本だったりドキュメントじゃなく

綺麗なコードスパゲッティコードの解読でもなく

ましてや優れた人から教えて貰うことでもなく

ただただプログラミングを好きになってモノづくりに熱中することだ

小さい子供プログラミングに向いているのはモノづくりが好きだからであって

オブジェクト指向関数型言語設計をしたいからじゃない

これは大人でも当てはまることであって

何かのモノづくりをするという目的の元に手段としてプログラミングが選ばれ

それに熱中することでいつの間にかプログラミング能力は向上していくのだ

新しい仕事としてプログラミングを頑張って覚えるだとか

上司から命令されてプログラミング講座を会社の金で受講するとか

Googleを目指して学生時代プログラミングに打ち込むだとか

そんなのは全然上手く行かないのに定年退職したジジイラズパイ使ってロボ作りとか始めると上手く行くのはそのせいだ

GitHub発明したPull Requestはこの楽しみを徹底的に阻害している

「すげぇやり方思い付いたから本番に実装しようと思う」

というのがPRでは却下される

ちょっとこの辺は微妙だけど他のことやりたいか適当に済ませよう」

というのもPRでは却下される

こうした行為はモノづくりからはほど遠く必要無いものに見えてしま

「早く動いているところを見たい」

という欲求を不満にしてしま

やがて開発者プログラミングのもの従事して嫌いになっていくのだ

以前からプロ現場ではもっと厳しい品質管理がなされていたという人がたまにいる

PRによってアジャイル現場品質管理がもたらされたと主張するのだ

だがソースコード品質とは何なのか結局誰も答えられない

命名規則コメントの書き方などルール化できるもの別にレビューなど必要無くツールで弾くことができる

バグがあるかどうかはテスト担保すべきであってレビューで見るべきではない

PRレビューするのはそうではない「何か」であって

それを勝手品質だと名付けているにすぎない

この手のレビュワーが好んで使う言葉として「技術負債」というものがある

技術負債を残さないためにもPR品質を保つ という主張である

一方で技術進歩は止められるわけが無く10年前に必死クラス設計したJavaシステム

今やJavaのせいで技術負債になっているのだ

このありもしない「技術負債」という幻想のために

またはレビュワーの考える言語化できない「品質」のために今日PRリジェクトされる

そしてコメントで延々とどっち付かずの議論が繰り広げられて

人はプログラミングを嫌いになっていくのだ

2022-05-10

優秀な人がスパゲッティコードを作るのは何故なの?

優秀な人ほどスパゲッティコード作らない?

というか頭いい人にはスパゲッティに見えないのかもしれないんだけど俺にはスパゲッティしか見えないコード

2021-06-10

日本の古き良きIT企業退職して3年がたった

3年前、世間一般にはメーカーSIerとして知られている会社退職した。ただ俺のポジションパッケージソフト開発であり純粋SIerとは異なる。

客ともSEとも会話せず、ひたすらドキュメントプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、

会社の業績がとてもよかったこともあり年収1000万弱はあった。35歳。

これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。

Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコード印刷して説明しないと納得しない品質保証部、

作業実施Excelにチェックを付けていくテストjquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに

ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできないtrunk、

Java 5の時代から進化しないコード、使いにくい社内ミドルウェアの利用を強制される設計、開発期間の半分以上を占める最上設計

一旦書いたコードは消してはならずコメントアウトしないといけないコーディング規約など、数を上げればきりがない。

色々改善活動を頑張ったものの、結局Subversionの導入も品質保証部がついていけないから、ということでClearCaseといわれる

今ではほぼ誰も使ってないであろうバージョン管理ツールが使われ続けることになった。使いにくい社内ミドルウェア

研究所がその道のプロと聞いたので一緒に改善を図った。そしたらRubyしかいたことがない文系新卒の子が出てきた。

一応研究所の人だし…と思って新バージョンプロトの開発を依頼したら、1分以上稼働できない状態になって出てきた。

研究開発は準委任相当なのでそれ以上修正を依頼できずに期間が終わった。

また前の会社独特の文化として、大きなバグを出した開発者反省会(社内ではとある固有名詞で呼ばれている)があった。

この反省会のターゲットになった開発チームはその資料準備で開発が1〜3ヶ月ほど止まるほど大掛かりなイベントだ。

このとき担当品質保証部は「連帯責任から」という理由資料レビューに大変な精を出す。余計なお世話だ。

このため1020ページほどの資料を毎週レビューにかけて最高のものにしていく。でも結局本番では幹部からの怒号が飛んで終わりである

連帯責任かいっていた品質保証部は幹部と一緒になって詰めてくる。連帯責任ではなかったのか。

幹部によると、この反省会があるから今の会社があるんだそう。これを経験して一人前らしい。

こんな感じで開発の体制はひどかったが、世間一般ではホワイト企業と見られている通り有休は取りやすかった。

そのため、転職活動を始めた。そしたらなんと「メモリ32GBのマシン」「mavenが気兼ねなく使える回線」「自動テスト

GitHub」「CI/CD」 という発言ポンポン出てくる。メルカリだのGoogleだのといったイケイWeb系ではなく、

いわゆるSIerでもだ。最初は何だこの格差はと思ったが、まぁ営業トークなんだろうな、と思い直した。というわけで

ケイWeb系も内定は出たものの、つい安定をとってしまい某大企業のDX系の部署転職した。

そしたら何だこれは。最高スペックMacBook ProからGitHubpushするだけで自動デプロイで即サービスイン、

問題が発生したら社用携帯に通知が飛んできて、クラウド監視サービスログをチェック、即修正デプロイ

社内の連絡はSlackで、スタンプを押せばIssueがたち即関連部署対応に走る。OfficeツールGoogle Docsで、

計算表はちゃんと表として使っている。開発者ちゃんと開発をしており、反省会の準備や品質保証部の接待なんて業務はなく

純粋エンドユーザーだけを見ている。ここはなんて最高の環境なんだと歓喜した。また個人的にはおまけ程度であるが、

年収は30万ほど増えて大台に乗った。

さて、それから3年がたった。人間というのはい環境になれると対して喜びを感じなくなる、というのはそうだと思う。

今では別にdeployブランチマージされたらCIが走って自動テストが走りデプロイされるのも、だから何?

って感じだしま普通仕事として淡々とやっている感じはする。待遇面で悪化した点もちらほらあるし

(例えば年間休日が5日ぐらい減った、残業が月5時間ぐらい増えたなど)などもある。

ただ一つ言えることは前の会社には戻れないな…ということである人間一度生活レベルを上げてしまうと下げるのは

とても苦痛に感じてしまものである

ただ、一つだけ今の会社転職してよかったと感じ続けられることが一つある。それは人だ。

前の会社では家でプログラムを書いているなんていった日にはおちょくられたり、人生楽しいの的な目で見られたりした。

芸能人ゴルフの話ができないとコミュ障扱いされた。そのため仕事の話はしても、飲み会にはできるだけ行きたくなかった。

でも今の会社では雑談としてFastlyが落ちても大丈夫CDN構想とか、AtCoderの話をして盛り上がることができる。

ダイバーシティなんていうが、人間所詮同質な人間同士で集まったほうが快適なんだな・・・という複雑な思いを抱いている。

追記

皆さん読んでくれてありがとうございます。いくつか質問が出ているので答えられる範囲で答えます

真面目な疑問なんだけど、Java5のコード書いてる人を1000万で雇う会社があるの?どういうモチベーション??

製品自体90年代から脈々とバージョンアップしている企業向けのソフトウェアなので、コードベースが古いというのがあります

またユーザーからすると中身がJava17だろうがJava5だろうが関係ないわけで、要は業務が滞りなく進めばよいわけです。

そのため昔から受け継がれたスパゲッティコードを地道に解き明かし、新しく出てきた要件を今までのコードベースを壊さずにバグなしで追加していく、

もとからあったバグについては、その他の数百万行のユニットテストもないコードに影響なしで修正を施す、といった技能必要になります

こう考えると意外と希少なスキルなんだな・・・と思えるかもしれません。

clearcaseよりもsubversionの方が100億倍導入も運用簡単だと思うんだけど品管どうなってんの?

ClearCaseご存知な方がいるんですね!一から作る製品だとSubversionのほうが簡単かもしれません。ただ、ClearCase専用の

社内ツールがいくつかあり、そのツールで出力した情報を社内資産として持っているという理由があったりします。

例えばお客さんから「この機能バグってるっぽい」というクレームを受けた際、その機能周辺の情報をそのツールから検索し、

コードレベルで再発防止策を関係部署総出で練った上でお客さんに回答する、という運用フローになっています

そのため、Subversionに変えるためには開発陣の一存では無理で、品質保証部やマネージャー層など全ての知識アップデート

必要になり、そこまでコストをかけて説得して回る必要はあるのか・・・という話になってしまうわけです。

ただ、社内の生産性を向上させるのが目的部署としてはSubversionGitを社内に浸透させたがっているのも事実で、

新規プロダクトなんかはGitを使っていました。ただしGitHubプロキシでアク禁されているだけでなく、サービス名名指しで使用禁止

になっているので、相当の理由がない限り使えないかと思います

主任クラスでも1000万円近くもらえるのか。すごい。

1000万という数字に興味のある方が多かったので参考までに書いておくと、等級ランクというもの存在して管理職を除く最上位のランク

なると2人の子持ち、賃貸住まい、標準評価で大体900万になるという感じです。年功序列だが部署ごとに違うというイメージで、

研究所だと20代で到達する一方、利益を上げていない事業部や間接部署だと定年間際まで到達しない人も多い、ぐらいの感じです。

平均では30代中盤ぐらいでしょうか。

ちなみに私の場合は基本給は33万程度ですが、そこに裁量労働手当と住宅手当、家族手当がついて月給で50万を超えるぐらいでした。

ボーナス個人評価よりも部門業績に大きく左右されるのですが、部署が最高評価場合は夏冬とも150万以上でした。

最後最後ダイバーシティについては、ダイバーシティ勘違いしているように思う

なるほど、たしかに。ちょっと言葉の選びが悪かったかもしれないですね。

2020-10-22

anond:20201022224443

早く仕事を終わらせようと面白くもないスパゲッティコードを書けば死ぬし、

時間がかかっても楽しいリファクタリングしたら生き残れる、ってことだな。

2020-05-21

プログラマ職人しぐさ良くないから止めにしようよ

なんか最近プログラマの事、特に経験からプログラマになる人の事についての増田をよく見るんだけど

いい加減に職人しぐさ止めない?


ここで言う職人しぐさって言うのは「プログラマ自己学習するべきだ!」ってやつね。

気持ち分からんでも無いよ。プログラマSIerになろうと思ったら学習は欠かせないし、勉強してないやつの汚いコードの尻拭いさせられる事が最悪なのは分かる。

でもさ、未経験者への話に「プログラマは(私生活を削っての)自己学習必須!」って息巻かれると、「プログラマってだるいな…辞めとこ」ってなるやつ多いんだわ。

自分が割と「まぁ勉強は避けられないよね」みたいなノリで言った瞬間に空気が冷めたの経験たからすごいそう思う。

特に若い子は色んな選択肢があるから「じゃあ、別のにしよ」ってなる。

気持ちはすごい分かる。僕もめんどいのは嫌いだし、人生やり直してもう一度プログラマになるかって言われたらかなり微妙

プログラマはやっぱ若いのが一番だから若い奴ら取り込まなきゃいけないんだよね。

から敷居を下げてやる必要がある訳だよ。


今、人出足りてないし、裾野も広げてやらなきゃいけない。

そのためには「とりあえずふるいにかけて残った精鋭だけ育てよう」みたいな贅沢はできない訳ですよ。てかそれをやったところでGAFAかに取られたり、面白そうなベンチャーに行ったりで、うちみたいなセコセコやってる中小には来ないし。

プログラマ職人芸が求められる時代はもうだいぶ前に終わったし、

社会の流れ的にも「学習でも業務外に食い込むのってどうなの?」って感じじゃん。

あと、「プログラマ自己学習!」って声がでか過ぎて、スクールみたいな甘い言葉で釣ってるだけ所に人が流れてる気もするんだよね…

ある程度の学習必要なのは避けられないけど、それを(会社で吸収できるなら吸収して)上手く誤魔化しつつ、適度に甘い言葉も使いながら集めていかないといけないんじゃないかなぁ。

やっぱり個人の素質が関わって来るものだし頭数集めるのが第一だよ。幸い手プログラミング自体は手を出すことだけは簡単なんだから

それに素質の影響の多寡に関わらず、素質の部分を少なくしなきゃいけないしさ。


なんか最後ごちゃっとしたけど、とにかく職人しぐさを押し付けても、それで得するのは上位の上位層だけなんだから、やめよう。

それよりどうすれば、その必要勉強会社側、チーム側で吸収できるか(吸収してるか)を考えるほうがずっと有益だよ。

(今回僕、これについてなんにも書いてないのはごめんね。)

あとはそうだなぁ。割とコーディングの基礎やった後に実務に繋げる部分が薄い気がするんだよね。これは根本的に難しい問題っぽいけど、これがなんとかなったら良いなぁと感じる。

なんか全部、空飛ぶスパゲッティコードモンスターがどうにかしてくれないかなぁ…

2020-04-19

anond:20200419091526

都会で仕事にあぶれた底辺SE田舎に帰って経験15年(下流受託のみ…)って金看板で開設ししたプログラミングスクールに30万払って入って

したり顔してJavaでstaticなスパゲッティコードを増産すればいいとおもうよ

2020-04-11

anond:20200411181613

からスパゲッティコードを書いて身を守るんや。

エンジニア(52)は解析に3年かかる呪い呪文を唱えた

環境効果呪い呪文が3つに増殖した

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