タグ

GitHubとCodeReviewに関するraimon49のブックマーク (48)

  • もう初回コードレビューはAIに任せる時代になった - CodeRabbit -

    どんな人向けの記事? レビューによって心理的なダメージを受けやすい方 非エンジニアだが、エンジニアチームがどんな機能を作っているか知りたい方 業務が溜まっていて、レビューに割く時間を捻出するのに苦労している方 コピペできるコードも公開します 初回レビューをAIに任せると、いろんなロールの人の役に立つ レビューは得意ですか? 優秀なエンジニアしかいないチームであれば、PRは1トピックに絞って小さく明確なコミットによって作成され、適切な要約とともに提供されることでしょう。 しかし、実際にはいろいろな制約から、PRが想定よりずっと大きくなってしまったり、関連トピックと異なるコードが混じってしまうこともあります。 実際のところ、大きなPRを適切にレビューするのは難しいことです。また、自分が詳しくない領域のレビューを行わなければいけない機会もあります。 今回の記事は、レビューを作成してくれるAI C

    もう初回コードレビューはAIに任せる時代になった - CodeRabbit -
  • 機能は追加すればいいというものではない

    みなさん、新機能は好きですか。ソフトウェアへの機能追加は、ユーザ目線で単純に考えると「できることが増えていくのでよい」という響きを帯びています。しかし実際は、長く使われるソフトウェアであればあるほど、新機能を追加すべきかどうかはものすごく気を使って決めるものであって、やればいいというものではないのです。この記事の目的は、新機能の追加には細心の注意が必要だとわかってもらうことです。おもな対象読者はソフトウェアを長期間メンテしたことがないかたがたです。 みなさんが使っているOSSに新機能を追加するPRを送った場合を考えてみましょう。ここで重要なのは、PRが送られてきたメンテナやコミッタといわれるコア開発者たちの立場になって考えることです。彼らの役割は、自分たちを含むユーザがそのソフトウェアを使い続けられるようにメンテし続けることです。このメンテのコストに注目すると、機能追加は基的にコストを上

    機能は追加すればいいというものではない
    raimon49
    raimon49 2023/01/04
    作者やメンテナには浅慮な機能追加のPull Requestをrejectする勇気が求められる。めちゃくちゃ難しい。
  • Maintainer Month: オープンソースをメンテナンスするコツ

    週に一度まとめて更新のようなパターンだと、体調が悪いときなどにその週はスキップされ、また次の週も更新しようとして偶然タイミングが合わなかった場合などに、1ヶ月更新が止まるみたいな状態は起きやすいです。 1ヶ月更新を止めてしまうと、そこで更新する習慣が失われて、この書籍でいう逆戻りが起きるのかなと思っています。 そのため、JSer.infoではタスクを細分化して進められる時にやっていけるような形を作っています。 ライブラリのメンテナンスのリズムをツール化する JavaScript周りは顕著ですが、ライブラリが細かく分かれていることが多いため、リポジトリの数も多いです。 そのため、リポジトリのCI設定や依存ライブラリのアップデートなどをメンテナンスするだけで無限の時間がかかります。 このメンテナンス作業を手動で毎回やるととても疲れるので、自分の場合はツール化していることが多いです。 作ったり、

    Maintainer Month: オープンソースをメンテナンスするコツ
    raimon49
    raimon49 2022/06/28
    やってる事もすごいけどこれだけ丁寧にコツを言語化できる点もすごい。
  • 中国版ギットハブ、コードを検閲・遮断か? OSS開発者に衝撃

    中国におけるギットハブの競合サービスとして人気の「ギッティ(Gitee)」で公開されていたソースコードが一部非公開となり、中国のオープンソース・コミュニティに衝撃を与えている。理由は明らかではないが、中国政府による検閲が疑われており、イノベーションを阻害する恐れが指摘されている。 by Zeyi Yang2022.06.01 171 2 5月18日の朝のことだ。中国の数千人ものソフトウェア開発者たちは、中国企業「ギッティ(Gitee)」にホストされているオープンソース・コードがロックされ、非公開になっていたことに気づいた。ギッティは、国際的なコード・リポジトリ・プラットフォームであるギットハブ(GitHub)の競合サービスで、中国政府の支援を受けている。 ギッティはその日の遅くに声明を発表し、ロックされたコードは手作業でレビューされており、今後はすべてのオープンソース・コードが公開前にレビ

    中国版ギットハブ、コードを検閲・遮断か? OSS開発者に衝撃
    raimon49
    raimon49 2022/06/01
    >ギッティはその日の遅くに声明を発表し、ロックされたコードは手作業でレビューされており、今後はすべてのオープンソース・コードが公開前にレビューが必要になると説明した。 / えぇ……。
  • Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々

    Gitのワークフロー、好みが分かれる分野で自転車置き場の議論にもなりがちだと感じている。基的にはプロジェクトの流儀に素直に従い、余計なストレスを抱えないのが良いと考えている。例えば、私はマージコミットを作るのが好みだが、OSS活動等では「squash & mergeして」って言われることもあり、そういうときは当然素直に従うようにしている。 ということで、私のGitのワークフローについてのスタンスについて書いておこうと思う。私と一緒に働く人や、働くことを検討している人の参考になればと思います。もちろん、この辺りは、良い方向に変化もさせていきたい。例えばエントリー内でも触れていますが、私は昔はforce pushを禁止したいくらいでしたが、今は使っても良い、と思うようになりました。 Natureの特にGoでのバックエンド開発はこれに近い感じだとイメージしてもらえればと思います。ただ、できてな

    Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々
    raimon49
    raimon49 2021/05/19
    自分も頼まれたらsquash and merge使うけど自分からは使わないな。しかしGit/GitHubとの向き合い方をこれだけ言語化できるのってすごい。
  • コードレビューのレビューはマネージャーの仕事 | POSTD

    経営に関する名著「 High Output Management (邦題:ハイアウトプット・マネジメント(=高い成果を可能にするマネジメント))」の中でAndy Groveは、”トレーニング(訓練・教育)はマネージャーの仕事”であり、組織の成果を向上させるためにマネージャー(経営者・管理者)が実践できる最高のレバレッジ活動だと述べています。 多くの組織のマネージャーにとって、この言葉は現在においても参考にできる素晴らしいアドバイスでしょう。しかし、現代のソフトウェア開発チームのマネージャーに関して言うと、その中心となる考え方はシフトしています。 > エンジニアリングチームの成果向上にとっては、GitHubのプルリクエストなどで実行するコードレビューが、今では最大のレバレッジポイント(レバレッジの作用点)である。 品質管理以上の役割 従来、コードレビューのプロセスは品質管理のツールと見なされ

    コードレビューのレビューはマネージャーの仕事 | POSTD
    raimon49
    raimon49 2018/11/01
    >プルリクエストプロセスの管理とマイクロマネジメントは紙一重の差です。
  • 最近のPython-dev(2017-04) : DSAS開発者の部屋

    バックナンバー: 3月号 2月号 1月号 NEWS (changelog) の作り方 Mercurial時代からNEWSファイル (changelog) の扱いは面倒だったのですが、Githubに移行したことでよりコンフリクトが起こりやすくなり面倒さに拍車がかかりました。 また、コンフリクトせずに間違った状態でマージされるというかなり致命的な事故も起こってしまっています。 (ワークフローが cherry-pick になったためにマージ時に履歴が考慮されなくなったのか、それともMercurialよりもGitの方がマージがバカなのか、詳細は把握してません。) それで、1つの大きなNEWSファイルにエントリを追記していく代わりに、1つのエントリだけを含む小さいファイルを追加していき、ツールでそれらのファイルからNEWSファイルを生成する仕組みへの移行が急務となり、ツールの選定のためにコンペが行わ

    最近のPython-dev(2017-04) : DSAS開発者の部屋
    raimon49
    raimon49 2017/04/18
    >プルリクエストのブランチに push --force(-with-lease) をするのをやめよう / Web UIのSquash and mergeを有効活用したい。
  • CoolなソロとHotなペアプロのあいだ

    チームでプログラミングをする際、幾つかのスタイルが存在します。どの場面でどのスタイルを使うかについて経験を元にご紹介します。 https://commons.wikimedia.org/wiki/File:Pair_programming_1.jpg一人が黙々とプログラミングするソロのスタイル、ソロでプログラミングしつつも「(WIP)プルリクエスト」のオンライン上「コードの共同所有」で集団で洗練させていくスタイル、2人が同じタスクを同じディスプレイを共有し対話しながら難しい問題を解いていく「ペアプログラミング」スタイル、複数人がホワイトボードと巨大なディスプレイに集まって寄ってたかって、議論しながら開発する「モブプログラミング」スタイル、などがプログラミングスタイルとしてよく知られています。 しかし、実際の開発の現場では、「ソロプログラミング」「プルリクエスト」「コードの共同所有」「ペアプ

    CoolなソロとHotなペアプロのあいだ
    raimon49
    raimon49 2017/03/21
    コミュニケーション類型 教育効果
  • 先輩から教えてもらったコードレビュー

    LT大会にお呼ばれしました。 内容は以前ブログにしたためた「コードレビューするのが怖いと思っていたエンジニアが半年間コードレビューを経験して思った 10 のこと」についてです☺ http://b.hatena.ne.jp/entry/yutokyokutyo.hatenablog.com/entry/20161213/1481590322

    先輩から教えてもらったコードレビュー
    raimon49
    raimon49 2017/03/09
    半年前の自分からの成長をちゃんと振り返ってるのが素晴らしい。いらすとやさんのイラストも使い方が巧い。
  • Cookpad iOS Release Flow

    Cookpad Tech Kitchen #2 http://cookpad-tech-kitchen.connpass.com/event/37908/

    Cookpad iOS Release Flow
    raimon49
    raimon49 2016/10/04
    リリースマネージャ当番制よさそう。1ヶ月サイクル。
  • gitの良さがいまだに分からない - 負け犬プログラマーの歩み

    ここ2年ぐらいで俺が働いた現場はみんなgitを採用している。就職エージェントと面談するときもgit経験の有無をよく訊かれるし、今ではVSSやCVSどころか、SVNですら時代遅れになってきて、SVNを使っている現場は「レベルが低い」「保守的・旧態依然」という雰囲気すら感じる。 俺としては4-5年前からgit(GitHub)を使っているし、gitを使うこと自体に抵抗はない。一通りの基操作はできるし、人並みにはできると言っても差し支えはない。 …が、正直gitの良さがあまり見えてこない。 もし俺が中規模以上のプロジェクトのリリースを格的に管理する側であれば全然違った感想を持ったかもしれない。でも一人の開発者として、せいぜい10人程度のプロジェクトで利用する限り、「gitで良かった」という状況があまり思い当たらない。 ではgitの何が気にわないのか書いていきたい。 ①gitは馬鹿には難しい

    raimon49
    raimon49 2016/10/02
    SVNでtrunk1本の開発をしてた現場でいきなりgit-flowのような複雑な開発フローを採用せずに、master1本でmergeコミットが生まれてもOKくらいのカジュアルさで良いんじゃないかと。Gitが学習コストが高いのは同意する。
  • A whole new GitHub Universe: announcing new tools, forums, and features

    ProductA whole new GitHub Universe: announcing new tools, forums, and featuresToday I welcomed more than 1,500 people to our second annual Universe conference in San Francisco, an event designed to celebrate the people building the future of software. It’s an… Today I welcomed more than 1,500 people to our second annual Universe conference in San Francisco, an event designed to celebrate the peopl

    A whole new GitHub Universe: announcing new tools, forums, and features
  • LGTM Camera

    Share and Get a special screensaver! Keep in touch with @lgtmcamera on Twitter. Record LGTM scenes. Share LGTM GIFs. Say “Looks Good To Me” to your friends. LGTMカメラはどんなシーンも「良さそう = Looks Good To Me」に撮れるカメラアプリです。 早回しのGIFアニメとして撮影・保存するので手軽におもしろいアニメーション画像を作成できます。 友達にシェアして「LGTM」な気持ちを伝えよう!

    LGTM Camera
    raimon49
    raimon49 2016/07/12
    おっ、イカした面白そうなアプリやな〜と画面スクロールして著作者のところでふいた
  • 6年間におけるGoのベストプラクティス | POSTD

    稿は、QCon London 2016で行った講演の内容に基づいています。スライドとビデオは近日中に掲載予定です) 2014年に開催された最初のGopherConで、私は「 Best Practices in Production Environments(番環境でのベストプラクティス) 」と題した講演を行いました。 SoundCloud の私たちはGoのアーリーアダプターで、その時点までに既に2年近く、番環境向けの様々なGoコードを書き、実行し、メンテナンスしていました。そして私たちはいくつかのことを学んだので、その教訓をまとめ、多くの人に伝えたいと思ったのです。 それ以来、私はフルタイムでGoを使う仕事を続けています。SoundCloudではその後の活動やインフラチームで、そして現在は Weaveworks で Weave Scope や Weave Mesh の開発に使ってい

    6年間におけるGoのベストプラクティス | POSTD
    raimon49
    raimon49 2016/05/28
    >main関数だけが、ユーザの利用できるフラグを決められるべきです。ライブラリコードで振る舞いをパラメータ化する必要があるなら、そのパラメータは型コンストラクタの一部とすべきでしょう。 / モジュラリティだ。
  • Port to Android by modocache · Pull Request #1442 · apple/swift

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Port to Android by modocache · Pull Request #1442 · apple/swift
    raimon49
    raimon49 2016/04/08
    レビュー進んでる。
  • PythonがGitHubに移行

    現在Pythonの開発プロセス管理を担当しているBrett Cannon氏が,Pythonのcore workflowメーリングリストを通じて,GitHubへの移行を発表した。氏はInfoQのインタビューに応える中で,今回の決定に至った1年間に及ぶプロセスと,その中で検討された3つの提案について説明してくれた。 Pythonのリポジトリをホストするforge.python.orgの立ち上げ GitGitHubPhabricatorへの移行 GitGitLabへの移行 この中から最終的にGitHubが選択されたのには,主に3つの要因があった。 GitHubGitLabが機能面でほぼ同等であること。GitLabがオープンソースであることについては,それ自体を決め手だとは考えなかったと,Cannon氏は特に記している。 コアな開発者や外部協力者の間に,GitHubに精通している開発者が多

    PythonがGitHubに移行
    raimon49
    raimon49 2016/03/07
    >コードレビュー履歴のバックアップを計画しています。GitHubにデータアクセスのためのAPIがなくて,私たちのデータを閉ざされた場所に置くことになるのならば,最初から考慮に対象にはならなかったでしょう。
  • Pull RequestごとにデプロイされるHerokuのReview Appsを仕事で使ってみたら超絶便利だった - 月曜日までに考えておきます

    業務でGitHubを使っていて、developブランチにマージされたらステージング環境として使っているAWS上のサーバにデプロイされるようにしています。この時点で割と便利なんですが、マージ前にデザインや挙動を確認したいというケースも多いのでこの部分何とかしたいなぁと思っていました。 Review Appsとは 最近、HerokuGitHubとの連携を強化しています。以前だったら GitHubの特定のブランチにPushされたら、Herokuにデプロイする ということを実現しようとすると、CircleCIなどのCIツールを使ってやるのが一般的でした。 そこが最近変わりました。Heroku側からGitHubと直接連携して、「GitHubの変更を受けてHerokuにデプロイ」がHeroku側の画面でポチポチやるだけで簡単に実現できるようになっています。 この時点でかなり便利なのですが、さらに「P

    Pull RequestごとにデプロイされるHerokuのReview Appsを仕事で使ってみたら超絶便利だった - 月曜日までに考えておきます
    raimon49
    raimon49 2016/01/18
    12factor appに準拠して行くモチベーションになりそう。
  • GitHubでコードを「公開しない」リスク?サイバーエージェント流、OSS時代の開発哲学 | SELECK

    今回のソリューション:【GitHub(ギットハブ)】 〜「GitHub」でソースコードを社内・社外に公開し、オープンなコラボレーションを実現した事例〜 数々のサービスを生み出し続けるエンジニアリング集団、株式会社サイバーエージェント。そのエンジニアリング文化の中心には、「GitHub」を活用したオープンなコラボレーションがある。 同社ではプロダクトのソースコードは可能な限り全社公開すると同時に、 「スターインセンティブ制度」というリポジトリのスター数に応じたインセンティブを与える制度により、自身の書いたコードを社外へ公開することを推奨している。 ▼そもそもGitHubって何?という方はこちらの記事もどうぞ! チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】 ソースコードを可能な限り公開していくという流れは、ITベンチャーのみならず世界的大企業にも派生

    GitHubでコードを「公開しない」リスク?サイバーエージェント流、OSS時代の開発哲学 | SELECK
    raimon49
    raimon49 2015/07/08
    「Must」と「IMO(In My Opinion)」 レビュアーのアサイン方法方針が参考になる。
  • 気が狂った設計 - hitode909の日記

    大きめのこととか,自信のないところを触るときは,コード書く前に,こういう作戦考えてみたけどどうですかって聞いてみたり,こういうことやりたいんだけど一緒に考えませんかって,いっしょに話して設計考えたりするとよいと思う. 一緒に考えたすぐあとに気が狂った設計とか言い出したらおかしいので,未然に変な設計のままコード書いてしまうのを防げる. 特に辛い気持ちになるのが、「気が狂った設計」「クソコード」「(こんな実装は)有り得ない」といった言葉だ。 Pull Requestのレビューが辛くて会社をやめたい 単に言葉が強いのはよくないと思う.我が社にはそんな強い言葉でレビュー書く人はいない. 我が社には,普段から強い言葉を発する人もいなくて,みんな物腰柔らかな変な言葉を話している. 言葉使いや文体は,ずっと過ごしてると同僚から移ったりするので,普段からそういう言葉を話していると,全体の雰囲気も悪くなりそ

    気が狂った設計 - hitode909の日記
  • LINEが開発体制、グローバル対応の秘策、サービス基盤の変遷を解説

    LINEが開発体制、グローバル対応の秘策、サービス基盤の変遷を解説
    raimon49
    raimon49 2015/04/30
    >コードレビュー(ソースコードの査読)も、参加者は同じ責任者としてフィードバックすることが大事。相手を尊重する意識の上で行われるとき、成熟したコードレビューが可能になる。 / これを当たり前にやるの難しい