こんにちは。ソリューション技術部OTTサービスソリューション統括部LOGICAプロダクトグループの田上です。 最近、チームリーダー的な立場でソースコードレビューすることも多く、また不具合発生などにより過去の処理を読み解くことがよくあります。 その際、複雑でわかりにくいコードなどがあると処理を追うのに時間がかかり、また複雑なコードほどバグが発生する確率が高いです。 現在、私が使用しているRubyにはRubocopというコーディング規約を設定してチェックするツールがあります。 github.com Rubocopを導入するとコーディング規約で制限するので、全体的に書き方が統一され第三者が見たとき読…
学校で使われている黒板は一般に暗い緑色(ダークグリーン)です。子供の時から黒板と呼ばれていたので特に疑問を持ちませんでしたが、言われてみると不思議な気がします。 黒板がアメリカから日本に持ち込まれたのは、学校制度がスタートした明治初期の1872年です。そのとき英語のblackboardを直訳して、黒板と呼ばれるようになり全国に広がりました。そのころは黒板の表面には漆が塗られており、色はまさに黒。黒色から緑色に変わったのが、黒板のJIS規格が制定された昭和29年ころです。そのころから黒板の表面に塗る塗料に合成樹脂塗料が使われるようになりました。 黒板の色を緑色にした理由は定かではありませんが、よ…
はじめに 内容 1.コードの可読性とは何か 2.クリーンなコードの書き方 3.コメントの書き方と活用法 4.関数の書き方とベストプラクティス 5.変数と定数の命名規則と活用法 6.コードのレイアウトとフォーマットのベストプラクティス 7.テストコードの書き方と活用法 8.コードレビューのベストプラクティス まとめ はじめに プログラミング初心者でも理解しやすく、実践的なアドバイスが詰まった「リーダブルコード」という書籍。コードを書く上で、可読性の重要性を理解しているものの、具体的にどうしたらよいかわからず、悩んでいる人も多いはず。本書は、そんな人に向けた、コードの可読性を向上させるための実践的…
戻り値のないreturn サンプル まとめ 戻り値のないreturn return文って聞くと、戻り値の関数内で使うイメージがありますが、戻り値のないvoid関数内でも使うことができます。 使うとreturn文以下は処理されなくなります。「早期return」とよばれるやつですね。条件分岐で早めにreturnできる構造にできると可読性も上がる傾向にあります。 サンプル void ReturnTest() { Debug.Log("ここは実行される"); if (flg) { return; } Debug.Log("flgがtrueなら、ここは実行されない"); } まとめ お手軽に可読性をあげ…
資料作成に必要なこと 資料というものは、わたしたちが他者になにごとかを伝えるために説明をするわけだが、その説明を口頭のみでするよりも、より説明内容の理解を促進するために存在する。 最近のビジネスシーンでは、Web会議システムとの相性もいいことから、PPTがほぼデファクトスタンダードになりつつある。(PPTを社内会議の資料として使用する功罪は別だと考えるが) PPTの資料というのは、スライドに図形や文字などを使って視覚的に説明内容を補足するため、箇条書きの短い文章が主流となる。一方で論文など長文の読ませる文章の場合、Wordを使うことが多い。 読みやすさが重要 資料は説明を補足するとはいえ、スラ…
こんにちは。 エキサイト株式会社の三浦です。 皆さん、JUnitでユニットテストを書いていますか? 今回は、@DisplayNameを使うことによってJUnitのユニットテストの可読性が上がるという話です。 ユニットテストの可読性の問題点 ユニットテストは、テスト対象が複雑になるほどコード量が多くなっていきます。 それは、検証するパターンが多かったり、テストのために用意するモデルやモックが増えていくためですが、その結果各ユニットテストのメソッドが何のテストなのか、ぱっと見ただけではわからなくなることがあります。 今回はそれを、DisplayNameというアノテーションを使うことで解決していきま…
この記事を読みました。この記事では基本的なReactのベストプラクティスが紹介されています。 最近普段使っている技術のベストプラクティスを片っ端から調べることにハマっているので、この記事はドストライクでした。 というわけでブラウザの翻訳機能を使いつつ、ここで紹介されている中で勉強になった点や共感できる点をつらつら書いていきます。 1. コンポーネントは小さく機能ごとに これは基本のキでして、例えば一つのページに表示したい内容を全て同一のファイルに書いてしまったりしていると、コード量が膨大で可読性も低いしメンテも大変だしであまりメリットがありません。そこで、表示したいUIを機能ごとにコンポーネン…
はじめに この記事はあくまで私個人の感想です。POW-精神力、又はSAN値が大幅に減少している方は見ることを推奨いたしません。クレームは筆者の見えないところで。
Exploring CSS Units 記事は上記記事を意訳したものです。 ※当ブログでの翻訳記事は元サイト様に許可を得て掲載しています。 ピクセルから百分率、秒数まで、各CSS単位タイプにはユニークな機能があり、開発者がデザインのビジョンを生き生きと現実のものにするのを可能にしています。CSS単位を探求することで、精度とクリエイティビティが融合する世界が開かれるのです。 CSS単位の重要性 CSS単位の種類 絶対単位 ピクセル(px) 印刷関連CSS単位 絶対単位の使用例 絶対単位の使用例 相対単位 相対単位の使用例 相対単位の使用例 ビューポートベース単位 ビューポートベース単位の使用例 …
マルフーシャのこーど。 pic.twitter.com/KrSNm9n3MK — hinyari9 (@hinyari9) 2024年4月9日 それぞれが独立した条件だから単純にどう階層にifを並べればええやんと思ったけど、画像の書き方だと早期リターンで処理高速化が達成できてると考えると、それぞれのifの中にreturnを入れていく感じになるのかなと思った 寝れなさ過ぎてよくわからんことを考えてた、明日は出社、おわったぜ 「オートフォーマッターを使わない」という条件でよければ、当方はこれくらいまで圧縮して書くかな…テーブル使ったりするよりはifを並べるほうがずっとわかりやすいし、項目の増減も直…
minimizedする JSONでは改行不要、スペース不要の為、その辺りを削ると結構サイズ減ります。これを圧縮と呼ぶ場合あります。 ファイルをzip圧縮する 一応ベタな方法なので、まあまあそのまま。 カラム指向の表現形式という事にして、重複記述を削るような事する SDTMは正規化という概念に反逆を起こしていて無駄にデータが大きい訳ですが、多分カラム指向とかぶっこめば、可読性とかだいぶ気にしなくなり、削っていけるのでは。カラム指向のDBは、内部的にはこんな感じでデータを持っています。 ID ID_AETERM 1 @1 2 @2 3 @3 4 @4 5 @5 ID_AETERM AETERM @…
一覧画面と詳細画面の2つをもつJetpack Composeアプリケーション作成の実践例です。 構成変更時、一時停止時、システムによる強制終了時をまたいだデータ保持戦略についてもいろいろ聞いています。 Jetpack Composeで、2つの画面のあるページを作りたいです。 コンポーザブル関数のAppNavigation()のコード例の詳細について詳しく説明してほしいです。 MainActivityからこれらの画面の表示を行うにはどうすれば良いのですか? ありがとうございます。少し話は戻りますが、AppNavigationのbackStackEntryはどのようなオブジェクトですか? back…
Kodeinの使い方でよく分からないものについて聞いてみました。 Kodeinのオブジェクトで、DI{..}で生成されるものとKodein{..}で生成されるもので違いはありますか? あと、KodeinAwareインターフェースの使い方も教えてください。 import()はKotlinの標準ライブラリのメソッドですか? KodeinAwareインターフェースを継承することで使用可能になるメソッドを教えてください。 import()もdiのメソッドですか? private val myDependency: MyDependency by instance()のinstance()はdiのメソッ…
WEBデザイナーにとって、Javascriptはますます重要なスキルとなっています。 本記事では、初心者から上級者までを対象に、Javascriptの基礎から応用までを網羅した内容を提供します。成功するWEBデザイナーとなるためのポイントや、最新のJavascriptトレンド、必要なライブラリの総まとめ、さらにはよくある質問とその回答まで、幅広くカバーしています。 Javascriptのスキルアップに関する秘密と極意を探求し、読者の皆様に新たな知識と洞察を提供します。 では、さっそくWEBデザイナーにとってJavascriptがどこまで重要かをお伝えしていきます。 【PR】Webデザイナーを目…
備忘録 はろー。 ここ一年、制作をしてきて振り返りたいなー...と思うことが増えたのでこれから備忘録をいろいろ書き残していこうと思います。 初回はレビュー会に行った時の事を書き残しますよー。 3社の方々にレビューしていただきました。 1社目 [ソースコードの書き方・コメントについて] ・初期化等の処理は関数にまとめることでメインプログラムの流れを見やすくする。 ・関数名は頭を大文字にすることで統一する(C#のプロジェクトの場合) ・if文などでネストが深い為、早期return等を使用することで可読性を良くする。 ・if文の条件式が長くなる時は改行を行い、画面外にコードが行かないようにする。 ま…
protobuf.dev protobufの公式ドキュメントにベストプラクティスがあったので、まとめていきます。 多いので2回の記事に分けようと思います。 タグ番号を再利用しない プロトコルバッファでは、各フィールドにはユニークなタグ番号が割り当てられます。 message Person { string name = 1; int32 age = 2; string email = 3; } 同じタグ番号を再利用してしまうと、逆シリアル化が台無しになってします。例えフィールドが使われていない場合でも使わない。古いコードやログに存在している可能性があるのでデータの不整合や予期しない動作につなが…
こんにちは。Algomatic の宮脇(@catshun_)です。 本記事では文書検索において一部注目された BGE M3-Embedding について簡単に紹介します。 Chen+'24 - BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation
この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} データベースを操作する SQL SQL(Structured Query Language)は、関係データベース管理システム(RDBMS)でデータを管理・操作するための標準化された言語です。データベースに格納された情報を効果的に取得、挿入、更新、削除するために使用されます。 SQLは、テーブルと呼ばれるデータの形式で情報を格納し、クエリを使用してデータベースとの対話を行います。初心者にとっても覚えやすく、構文も直感的であるため、多くのデータベース管理シス…
今回は私が愛用している、とても便利なiPhoneアプリである「VBOX」について、その有用性と活用例を書き連ねていこうと思います。 スマートホームとショートカットアプリを連携させて使っている方におすすめしたいアプリなので、ぜひ見ていってください。
はじめに こんにちは。 エンジニアのデッサンです。 今日はコードゴルフを社内のみなさんと一緒にやってみようと思います。 コードゴルフとは まず最初にコードゴルフとは、 お題に対してできるだけ短いコードで実装することを目指すゲームです。 名前はゴルフと同じようにスコアを競うように、プログラムのコード数を競います。 ルール コードゴルフの基本的なルールは、コードの長さを最小化することを目的としています。 以下を考慮するとコード数の削減に繋げれます。 変数名や関数名を短くすることでコードを短くする 三項演算子などを使って条件文を短くする スペースや改行を最小限に抑える 配列メソッドを活用してループを…
今週やったこと 画像データを登録するAPIの改修 画像を登録するAPIのおいて、同じ属性の画像を登録するケースに対応できるように改修を行いました。