タグ

コードに関するy_yukiのブックマーク (16)

  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
  • コードの実装から理解するDDDとNot DDD - Qiita

    はじめに DDDとは?という議論が尽きません。 「レイヤードアーキテクチャ、Repositoryなどは軽量DDDでありDDDではない」 「ユビキタス言語に基づいたドメインモデリングこそDDDの質である」 とは言うものの、レイヤードアーキテクチャから先行して理解することが多いのが実情です。 なぜドメインモデリングの導入が進まないことが多いのか考えてみると、初学者にはドメインモデリングを実施したときの最終的な実装とそうでないときの実装の差がわかりづらく、どのような価値があるのかがわかりづらいためだと思います。 「ドメインモデリングをしたからドメインが素晴らしく良い実装になった」という例を紹介できればいいのですが、なかなか適切な具体的な例で説明することが難しいです。 そこでモデリングよりも技術的な視点にはなってしまいますが「集約を意識したDDDな実装とDDDではない実装」を具体的に紹介すること

    コードの実装から理解するDDDとNot DDD - Qiita
  • より良いコードレビューをするために気をつけていること | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の22日目は、メルペイスマート払いチーム/Backend Engineer の @oinume がお送りします。今日はコードレビューについて自分が普段から実践していることを書いてみたいと思います。 はじめに 世の中にはコードレビューをする時の観点については数多く共有されていますが、より良いコードレビューをするためにはどうするのが良いか、というHOWについてのノウハウはあまりシェアされていないような気がしています。そのため、今日は自分なりに心がけているコードレビューのやり方と、ついでに気をつけている観点について書きたいと思います。 Slackを閉じる (これが当に一番大事だと思っているので最初に持ってきたのですが)私は極端に集中力がないため、SlackのDesktop通知が来るとついついそれが気になって見てしまいます。コードレビュー

    より良いコードレビューをするために気をつけていること | メルカリエンジニアリング
  • 読みやすいコードの書き方のススメ

    Reactで組んでる中で、読みやすいコードを書くにはこうしたらいいよというものを紹介します。 よかったらツイッターフォローしてください🙏 https://twitter.com/hmktsu

    読みやすいコードの書き方のススメ
  • 無理をしないコードレビュー - クックパッド開発者ブログ

    会員事業部の三吉(@sankichi92)です。 クックパッドでは、GitHub Enterprise の Pull Request を使ったコードレビューを広く実施しています。 この記事では、私がコードレビューすることに対する苦手意識をなくすために意識したことを紹介します。 クックパッドでは、テックリードや新卒、インターン、バイトといった肩書きに関係なく、誰もがレビュワー・レビュイーになります。 チームやプロダクトによって開発ルールは少しずつ異なりますが、私の所属する会員事業部では、PR を出したときに GHE やチャットで部内のエンジニアにメンションして、その時にレビューできる人がレビューするという形を取っています。 私は、昨年2017年に新卒入社したのですが、それまでは個人開発や研究用のコードしか書いたことがなく、短期インターンシップを除くチーム開発の経験がありませんでした。 配属当

    無理をしないコードレビュー - クックパッド開発者ブログ
  • 流行りのUIをコード付で紹介しているサイト「CodeMyUI」 | ライフハッカー・ジャパン

    「CodeMyUI」は流行りのUIをコード付で紹介しているサイトです。GIFアニメUIの動きを見ることができ、さらにそれを実現させるソースコードもリンクされています。デザイナーの方には重宝するサイトですね。 以下に使ってみた様子を載せておきます。まずCodeMyUIへアクセスしましょう。 このようにGIF画像とともにさまざまなUIが紹介されています。実際に動きを確かめることができるので、どんなUIなのかひと目で分かりますね。 詳細ページでは、そのUIを実現させるためのコードも閲覧できます。実際に動くサンプルがあるので、すぐに導入ができますね。デザイン段階でインスピレーションを受けたいときなどに、ぜひ覗いてみてください。 CodeMyUI (カメきち)

    流行りのUIをコード付で紹介しているサイト「CodeMyUI」 | ライフハッカー・ジャパン
  • REST API および jQuery を使用してファイルをアップロードする

    この記事のコード例では、REST インターフェイスと jQuery AJAX 要求を使用して、ローカル ファイルをドキュメント ライブラリに追加してから、アップロードしたファイルを表すリスト アイテムのプロパティを変更します。 この処理は次の大まかな手順で行われます。 FileReader API (HTML5 のサポートが必要) を使用して、ローカル ファイルを配列バッファーに変換します。 jQuery(document).ready 関数により、ブラウザーで FileReader API がサポートされているかどうかを確認します。 フォルダーのファイル コレクションに Add メソッドを使用し、ファイルを 共有ドキュメント フォルダーに追加します。 配列バッファーは POST 要求の文で渡されます。 これらの例ではファイル コレクションに到達するために getfolderbyserv

    REST API および jQuery を使用してファイルをアップロードする
  • Facebook、静的コード解析ツール「Infer」を公開。Objective-C/Java/Cコードのバグを指摘してくれる

    Facebook、静的コード解析ツール「Infer」を公開。Objective-C/Java/Cコードのバグを指摘してくれる Inferが対応するコードはAndroidJavaとiOSのObjective-C、およびC。現時点ではAndroidJavaではNullPointerExceptionおよびリソースのリーク。iOSとCコードではメモリーリークを発見してくれます。 実際にプログラムを実行することなくバグを発見しようとする静的コード解析は、コードをビルドしてテストプログラムなどを実行するよりも迅速にバグを発見できる方法として期待されています。 Inferも、Facebookがより早く高い品質のソフトウェアをデリバリする目的で開発されたものです。下記はInferを発表したブログ「Open-sourcing Facebook Infer: Identify bugs before y

    Facebook、静的コード解析ツール「Infer」を公開。Objective-C/Java/Cコードのバグを指摘してくれる
  • Naming -名前付け- - Qiita

    プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。

    Naming -名前付け- - Qiita
  • クラウドワークス勉強会「レガシーコード改善の戦略と戦術」(後篇:戦術&懇親会) - CrowdWorks Engineer Blog

    こんにちは!開発の所(@ctokoro_me)です。 クラウドワークス勉強会「レガシーコード改善の戦略と戦術」前篇(戦略)に続き、後篇(戦術&懇親会)をお送りします。 「レガシーコード改善の戦略と戦術」 講師:和田 卓人(@t_wada) タワーズ・クエスト株式会社 取締役社長、プログラマ、テスト駆動開発者。 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。 その後様々な縁に導かれソフトウェアパターンやXP(eXtremeProgramming)を実践する人たちと出会い、後のテスト駆動開発の誕生を知る。 テスト駆動開発によって「完璧主義の呪い(完璧な設計を得るまではコードを書けないし良いシステムも出来ないという強迫観念)」から解かれてからは、文章や講演、ハンズオンイベント等を通じてテスト駆動開発の啓蒙に努めている。 今日もグリーンバンド(テスト駆動開発者の証)を左手に着

    クラウドワークス勉強会「レガシーコード改善の戦略と戦術」(後篇:戦術&懇親会) - CrowdWorks Engineer Blog
  • Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選 - Qiita

    Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選Androidandroid開発 概要 Lollipop が発表されてから時間も立ち、Android Auto、Android Wear、Android TV と、多様性を見せ始めた Android ですが、今後とも多種多様なデバイス向けに様々なアプリを作っていく流れがあるなか、新しくアプリを作るなら抑えておきたい要所をまとめました。 TL;DR 抑えるところは 3 つ。 画面とライフサイクル 非同期処理 互換性 かなり端的にいうと、Activity や Service などのライフサイクルとうまく付き合いながら、コードの構成のレイヤー化を行い、非同期処理を簡潔に記述できる準備をしておくことと、非同期処理とあわせてマルチスレッドプログラミングの基を抑えておくこと、互換性への準備を最初にし

    Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選 - Qiita
  • Gitのコミットメッセージの書き方 - Qiita

    Gitのコミットメッセージの書き方 自分なりにまとめてみました。Git歴浅いので、意見募集中です。 (2014年12月17日追記) 想像以上にたくさんの方にストックなりはてブなりいただいたので、はてブでなるほど!と思ったコメントをもとに少し修正・加筆してみました。 (2022年1月4日追記) 最新の書き方をこちらに書きました。 https://zenn.dev/itosho/articles/git-commit-message-2023 原則 以下のフォーマットとします。 1行目:変更内容の要約(タイトル、概要) 2行目 :空行 3行目以降:変更した理由(内容、詳細) 日語でも英語でもOKですが、リポジトリで統一してください。 1行目 コミット種別と要約を書きます。フォーマットは以下とします。 [コミット種別]要約 コミット種別 以下の中から適切な種別を選びます。 (多すぎても悩むので

    Gitのコミットメッセージの書き方 - Qiita
  • Railsのコントローラーの仕事は何か? - Qiita

    誰も読んでいないブログからの転載 最近MVCがどうとかという内容が話題になっていますが、ちょっと乗っかった内容です。 Railsで初心者によく見られる良くないコードは、コントローラーでたくさんの処理を実装してコントローラーの一つのアクションが30行、40行になってしまうことです。それに対して、モデルに適切に処理を移すのが良いんだということを言うんですが、”適切に”って何?じゃー、コントローラーには何を書くのがいいの?っていう質問への僕なりの回答です。 良いメソッドとは? 直接回答する前に、まずは前提の共有から、プログラムにおいて良いメソッドとはどのようなメソッドでしょうか?僕の解は、以下です。 "引数と返り値が最小限になっているメソッドです" (この部分については別途説明が必要な気がしますが、まぁなんとなくご理解いただけるかなと思います。) Railsのコントローラーの仕事? では、Rai

    Railsのコントローラーの仕事は何か? - Qiita
  • レガシーコード改善勉強会 開催レポート

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフー株式会社の有地です。 9/27(土)の昼から6時間にもわたり、さまざまな視点から「レガシーコード」について知識を深めるための勉強会を開催いたしました。 「そもそも正しい仕様を知っている人がいない」 「システムのブラックボックス化が留まるところを知らない」 こんな不条理なレガシーコード(テストコードが無いコード)と日々戦うエンジニアも多いことと思います。 今あるレガシーコードをどうやって保守・改善していけばよいのかという課題に気で取り組んでいる、または取り組みたいと考えている大勢の方々に参加していただきました。 <開催趣旨・目的> テストコードが無いプロダクションコードをレガシーコードと定義し、テストコードによって保護され、

    レガシーコード改善勉強会 開催レポート
  • PHP版レガシーコード改善に役立つ新パターン #wewlc_jp

    9/27に行われたレガシーコード改善勉強会で発表された資料です。 http://passmarket.yahoo.co.jp/event/show/detail/01pitgwzj67m.htmlRead less

    PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
  • モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

    はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:

    モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita
  • 1