タグ

しっくりくるとプログラミングに関するt1mvverrのブックマーク (14)

  • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

    CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

    良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
    t1mvverr
    t1mvverr 2021/04/28
    新しい技術を使うことでより良いコードになるどころか、ドメイン知識不足で書かれたコードや過剰に抽象化したコードとかが散りばめられ、ゴミが完成したのであった。
  • 「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に

    「UNIXはただ死んだだけでなく、当にひどい臭いを放ち始めている」「キャッシュはアーキテクチャではない。単なる最適化だ」などの語録を生んだ「Goの父」とも呼ばれるロブ・パイク氏の「プログラミング5カ条」について、ネット上で話題となっています users.ece.utexas.edu/~adnan/pike.html http://users.ece.utexas.edu/~adnan/pike.html Rob Pike's Rules of Programming (1989) | Hacker News https://news.ycombinator.com/item?id=24135189 パイク氏の「プログラミング5カ条」は以下。 ルール1:プログラムのどこで処理時間がかかるかはわからない。ボトルネックは意外な場所で発生するので、ボトルネックがどこにあるかを証明するまでは、臆測

    「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に
    t1mvverr
    t1mvverr 2020/08/19
    データは息が長いし(アプリは刷新されてもデータは移行で脈々と受け継がれる)、データ構造によって実装するアルゴリズムとかロジックの複雑さが結構変わる気がしている。DBはシステムの要。
  • 昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog

    はじめに 最近JavaScriptのプルリクが来たので「よーしやったるでー」って感じでレビューしたんですが、まったく理解できずレビューになりませんでした。 その時疑問に思ったことをメモします。。 誰かの助けになれば幸いです。。 これはもう引退やな。。 classの中で function って書くの省略してるの? class TestClass { test() { 処理 } } function を省略して書けるのかなと思ったらそうではない。むしろ書いてはいけない。 下記はエラーになる。 class TestClass { function test() { 処理 } } PHPに慣れてるからか、もやもやする。 (a, b) => は無名関数なのはわかったけど function(a, b) じゃダメなの? (a, b) => は無名関数で function(a, b) と同じ。 好みの問題

    昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog
    t1mvverr
    t1mvverr 2019/09/15
    調べてて面白いコーディングを見つけたらF12で試す、開発で思い通りの動き化確認するためにF12でデバッグ、RESTAPI叩いているか見るためにF12で通信モニタリング。F12が無いと辛い言語。Nodejsでバックエンド開発は辛そう。
  • 関数型プログラミングはオブジェクト指向プログラミングに変わるパラダイムになると思いますか?

    回答 (2件中の1件目) 実質A2Aどうもありがとうございます笑 自分はこの炎上ネタのある種のエクスパートなので、その辺の事情も含めお答えしたいと思います。 Quora日語版では、この質問に先立ち、一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?という質問があり、数日前に静かな注目を浴びました。 どの程度、静かに注目を浴びたかと言うと、他の回答者の回答もそうでしょうが、自分の回答の統計データでは、それまでの3ヶ月間のすべての回答の総アクセス数を、たった2日間で、このQ&Aだけで上回る程のアクセス数がありました。Qu...

    関数型プログラミングはオブジェクト指向プログラミングに変わるパラダイムになると思いますか?
  • プログラマーを30年間やってきた経験から学んだことまとめ

    プログラマーにとって「どうすればより効率よくプログラムを組み上げられるのか」は常に頭を悩まし続ける問題の1つとなっていますが、その道のエキスパートであるエンジニアのジュリオ・ビアソンさんが30年間ソフトウェア開発に携わってきた経験から学んだことについてブログにまとめています。 Julio Biason .Net 4.0 - Things I Learnt The Hard Way (in 30 Years of Software Development) https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/ ビアソンさんは多数ある「学んだこと」を以下の3つに大きくわけてまとめています。 ◆ソフトウェア開発について ◆チーム・仕事について ◆個人的なことについて これからプログラマーになろうとしている、あるいは

    プログラマーを30年間やってきた経験から学んだことまとめ
    t1mvverr
    t1mvverr 2019/07/10
    "プロジェクトを機能ごとでは無く、データタイプごとに整理する""自分のコンピューターで実行できない場合は生産性が落ちてしまう""認知的不協和がコードを読みにくくしてしまう"
  • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

    回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

    一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
    t1mvverr
    t1mvverr 2019/03/28
    「似た状況」「似た問題」なのに「いろいろな解決法」「各々好きにつけた名前」でまとまらない感じが、何だか歯がゆい。
  • ソースコードを汚くするには? - 覚えたら書く

    汚いプログラム(ものによってはバグを引き起こすプログラム)にするためにはどうすればいいのかを書きました 基的にJavaをターゲットにしています(ものによってはJava以外でも当てはまります) 私が今まで、読みにくい、修正しにくい、プログラムの挙動が読めないと感じたソースをもとに抽出した内容を記載しました 以下の逆をやれば、ある程度ソースがきれいになると思います メソッド メソッドの引数の数を多くする メソッドの引数に巨大なオブジェクト(いわゆる神オブジェクト)を渡すようにする 1メソッドを長くする メソッド内のネストを深くする ガード節が導入されていないif - elseを用いる(早期returnをしない) 重複した処理を存在させる 配列とListなどを混在させた整合性のとれていないメソッド群を提供する 同じ型の引数を3個以上とるメソッドを定義する(例えばint型のパラメータを3つ渡すメ

    ソースコードを汚くするには? - 覚えたら書く
    t1mvverr
    t1mvverr 2019/03/06
    重複処理は、打つ手が無くて仕方なくやっている箇所が割とある。
  • 開発者が知っておくべきSOLIDの原則 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま

    開発者が知っておくべきSOLIDの原則 | POSTD
    t1mvverr
    t1mvverr 2019/02/28
    開放閉鎖の法則→「AnimalSound関数は、makeSound()があるクラスだけ、受け付けるよ」 インターフェイス(IF)分離の法則→「でかいIFを作ると無駄なメソッド作らないといけないよ。小さいIFを組合せて大きいIFを作ってよ」
  • https://www.utali.io/entry/2017/02/21/191240

    https://www.utali.io/entry/2017/02/21/191240
  • Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。 – ゆびてく

    Elixir から Elm の流れで、いよいよオブジェクト指向に対する懐疑心が無視できないレベルに達した2017年冬。 – ゆびてく
  • プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!

    今やどんなビジネスでもITが関係している。ITを支えているのはソフトウェアだ。あらゆるものがソフトウェアで実現される時代になった。そんな事業や生活に密接に関わるソフトウェアだが、その開発について知られていないことも多い。 とくに経営者がプログラミング経験がないことで、ソフトウェア開発のリーダーシップをとるときに的外れなマネジメントをしてしまうことがある。あまねく経営者がプログラミング経験があれば良いのかもしれないが、それは現実的ではない。 プログラミング経験がなくても、せめてソフトウェア開発の特性について知っておくと良さそうなこともあると思い、なるべく専門用語を使わずに稿を書いた。 プログラミングは製造ではなく、設計である いまだにソフトウェア開発を、ビルや家屋の建築に喩える人がいるし、工場でモノを製造するようにプログラムが作られると思っている人もいる。 ここが間違いのもとだ。ハードウェ

    プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!
  • 発言広場 - 新入社員プログラマーですが周りについていけません

    まだ満足のいく回答を得られていないみたいなので二度目の回答を 一回目の回答で文系と書きましたが、それは世の中から法則性を見付け定式化できる能力があるかどうかという意味です Jiamari459さんは、RPGなどのコンピューターゲームはしますか? するとしてキャラクターのレベルが上がって強くなったとき、将来どれくらい強くなるか知りたいと思いますか? そして知りたいならどうやって知ろうとしますか? インターネットで検索するのが一番早くてスマートな問題解決方法かもしれません でも、私の場合なら幾つかのレベルのサンプルから計算式を推測します (武器のレベル+キャラクターの能力値)×技による倍率-敵のレベル+乱数 といった感じです こうして次のレベルの数値を予測しレベルを上げて計算式の正しさを証明していきます これは科学的手法そのもので、いわゆる理系と呼ばれる人達はこの能力が長けています 掛け算九九

    t1mvverr
    t1mvverr 2017/01/20
    積み重ねで書いていくのか
  • なぜプログラマはあなたの事が嫌いなのか - megamouthの葬列

    営業やマネージャーにとって、現場にいるプログラマというのは扱いづらい存在である。 飲み会などで、普段の彼らを観察してみると。同じエンジニア同士で固まってボソボソとよくわからない話をして、控えめな声で笑っており、総じて温厚で、扱いやすそうな人々に見える。 ところが、仕事になると、彼らはなんやかんのと理由をつけて、スケジュールに文句を言い、プロジェクト途中のリクエストには素直に答えてくれず、あげくには遠回しな嫌味を言ってきたり、極端な場合には、その温厚な仮面を投げ捨てて、攻撃的な暴言さえ吐く事がある。 どうも彼らは我々の事が嫌いらしい、と感じている営業・マネジメント職の人もいるのではないだろうか? 彼らの人格や価値観に問題がある可能性も否定しないが、このような感情的な齟齬は、多くの場合、あなた自身が彼らの「自尊心」を傷つけていることに気づいていないことが多い。 プログラマの自尊心 プログラミン

    なぜプログラマはあなたの事が嫌いなのか - megamouthの葬列
  • Python の self とかクラスとかインスタンス変数とか - 宇宙行きたい

    ?コンストラクタの引数 Pythonのコードのコンストラクタでは第一引数に「self」が指定してあります。 これはJavaで言う「this」です。(selfはしかるべきエディタではハイライトされます) Pythonでは、Javaで言う「this」を明示的に「self」と指定してあげます。 「self.foo = bar」はインスタンス変数fooを宣言と同時に初期化したことになります。 「def printFoo(self):」も同様にインスタンスメソッド。 Python15分講座 #3 (クラス) - t_nagataの日記 この辺は順番に考えていくと凄くわかりやすいです. もう,これだけで Python 勉強すべきって思うくらい インスタンスに値を追加してみる class Hoge(object): pass hoge = Hoge() hoge.a = 10 // hoge に a を

    Python の self とかクラスとかインスタンス変数とか - 宇宙行きたい
    t1mvverr
    t1mvverr 2016/07/23
    楽して書けるように__init__が生まれた
  • 1