ここ数日で読んだ下記の本。非常に感銘受けたので書評を書く A Philosophy of Software Design 作者:John Ousterhout 出版社/メーカー: Yaknyam Press 発売日: 2018/04/06 メディア: ペーパーバック 著者はスタンフォードで教えているが、元実務家らしい。大学のコースの内容を本にしたものという。研究領域は比較的低レイヤっぽい。題名は訳すと「あるソフトウェア設計の哲学」 総評 ソフトウェア設計を複雑性(complexity) を減じるためのものだ、という基本的な考えのもと、非常に実践的なアイデアが学生のよくある間違いや好ましい例とともに記述されている。UNIXの設計を良いものと主張する場合が多い。間違いの例などは自分もやっていたな、と思うものもあり、かなり考えさせられる。数年教えてきた内容を使っているので、伝え方がうまい。 基本
ハンガリアン記法に関する間違った意見をよく目にする。Making Wrong Code Look Wrong (間違ったコードは間違って見えるようにする)の記事では、ハンガリアン記法でもアプリケーションハンガリアンは有用だと主張している。もちろん、わかりやすい変数名を使用することには賛成だが、変数名を人間が目で見て正しいかどうかを判断しなければならないようなルールに価値はないと確信している。ワインバーグではないが、計算機が得意なことは計算機にやらせればよいのであって、人間がやることではないのだ。ソフトウェア工学的に正しいのは、間違ったコードはコンパイルエラーになるようにする、ということだ。 アプリケーションハンガリアンが善だと思い込んでる素人は、この続きを読まずにマンガ喫茶にでも行って時間を過ごして欲しい。 本当のソリューションは静的解析で正しさを証明すること 前述の記事では、アプリケーシ
俺コン Vol.1 / Day. 2 - connpass https://orecon.connpass.com/event/64285/ での発表資料です。 # 参考資料 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) | Dustin Boswell, Trevor Foucher, 須藤 功平, 角 征典 |本 | 通販 | Amazon https://www.amazon.co.jp/dp/4873115655 Amazon | 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES) | Martin Fowler, 児玉 公信, 友野 晶夫, 平澤 章, 梅澤 真史 通販 https://www.amazon.co.jp/dp/427405019X
<P> Masanori Toda's Home Page [Sage Plaisir 21] is used Frames. Excuse me, Your Brouser can not view the Frame Page. No frame page is <A href="first.htm">here</A>.<BR> </P> <P> 戸田匡紀のホームページ [Sage Plaisir 21] は、 フレーム機能を使っています。 残念ですが、あなたのブラウザには対応していません。 フレーム無しのページなら<A href="first.htm">こちら</A> です。<BR> </P>
# Callback Hell *A guide to writing asynchronous JavaScript programs* ### What is "*callback hell*"? Asynchronous JavaScript, or JavaScript that uses callbacks, is hard to get right intuitively. A lot of code ends up looking like this: fs.readdir(source, function (err, files) { if (err) { console.log('Error finding files: ' + err) } else { files.forEach(function (filename, fileIndex) { console.log
C# for Systems Programmingの情報がJoe duffy氏のブログで新しいのが書かれていたので和訳してみます。例によってGoogle翻訳を使っての拙い訳です。 -----------------------------ここから和訳----------------------------- If you’re going to fail, do it fast 私たちの言語開発チームで検討した技術の一つは"fail-fast"と呼ばれるもので、プログラムが可能な限り迅速にバグが検出された後に失敗するというアイデアだ。このアイデアは本当にフィクションなどではなく、現実的なアプリケーションなものだ。多分ね。 下記のものは私たちが開発中のシステムでfail-fastとなるものである。 ・契約違反(Contract violation) ・実行時宣言違反(Runtime ass
Conventional Commits 人間と機械が読みやすく、意味のあるコミットメッセージにするための仕様 Conventional Commits 1.0.0-beta.4 概要 Conventional Commitsの仕様は、コミットメッセージのための軽量の規約です。 明示的なコミット履歴を作成するための簡単なルールを提供します、この規則に従うことで自動化ツールの導入を簡単にします。 この規約はSemVerと組み合わせることで、コミットメッセージへ機能、修正、重大な変更を入れることで、さらに詳細な説明を可能にします。 コミットメッセージは次のような形にする必要があります 原文: <type>[optional scope]: <description> [optional body] [optional footer] 訳: <型>[任意 範囲]: <説明> [任意 本文] [任
コメントは基礎的で一般的なものでありながら、「どのようなことをコメントに残すか」は経験のあるプログラマにとっても難しいもの。この記事では、アンチパターンコメントを見ながら、どのようなコメントを残すべきかについて説明します。 コードは機械のために、コメントは人間のために? プログラミング言語を学ぶとき、コメントは最初に習う項目のひとつです。そして、プログラムであればコメントを含んでいることが普通です。ある研究によれば、ソースコードの平均19%がコメントだそうです。 コードを書くとき、私たちは機械とコミュニケーションを取ることを意識しています。機械はコードを認識してコンパイルしたり実行してくれます。解釈できなければ教えてくれます。プログラマは、コンパイラのためにデータ型を明示するコードを書いたりもします。 一方、コメントは人間とコミュニケーションするために書かれます。近接するコードについての補
Object data; Object[] datas; ソースコードをよんでいるときによく出くわすあれ。 何らかのデータの集合体を表す変数の名前に使われがちなdatas 同じ仲間にmediasがいる。 これも何らかのメディアの集合を表す変数名で使われがち だが気をつけるのだ。 後々ソースコードを見るうるさいプログラマが「これはおかしい!」と言われたりするのだ。 すでに複数形 何が問題か、プログラミングには全く関係ない些末な問題なのだが dataもmediaもすでにそれが複数形なのだ。 それぞれの単数形はdatum mediumで datumという単数形は使わず、通常data(複数形)を使うそうだ。 ということが辞書に書いてあるが… https://tools.ietf.org/html/rfc959 このFTPのRPCを見てみると…dataを単数形で使っとるじゃないか! ここから分かると
(※この記事は2015年に書いてて放置してたのですが、今さら公開してみます。) 浅海智晴氏のRelaxer、そして「伝票指向アーキテクチャー」を覚えているでしょうか?知っているでしょうか?氏のブログを読ませていただいてる間に下記記事のことを思い出しました。 @IT、「Relaxerで実現するJava開発の新プロセス」-「3.1 伝票指向アーキテクチャ」: http://www.atmarkit.co.jp/fjava/devs_bk060201/relaxer01/relaxer01.html#3 この記事は2003年のものですね。(今でも残っていました!)まずはさくっと読んでみてください。 最も重要な部分を引用(キャプチャー)させていただきます。 この図9の右側の「データ流通モデル」は伝票指向アーキテクチャーの中核的概念を表していますが、これは今で言うマイクロサービス(Microserv
この記事は、インテル® デベロッパー・ゾーンに公開されている「The Ultimate Question of Programming, Refactoring, and Everything」の日本語参考訳です。 この記事では、プログラマーがエラーを回避し、時間と労力を節約するのに役立つ C++ コーディングに関する 42 の推奨事項を紹介します。著者の Andrey Karpov 氏は、静的コード解析ツールである PVS-Studio の「プログラム検証システム」開発チームを率いるテクニカル・ディレクターとして、多数のオープンソース・プロジェクトの検証を通して、問題となる多種多様なコーディング手法を見てきました。ここでは、その知識と経験を皆さんと共有します。すべての推奨事項には実例が示されます。これらの推奨事項は C/C++ プログラマーを対象としていますが、多くは一般的なものであり、
Michael Z Posted on Oct 3, 2019 • Updated on Jan 9, 2022 • Originally published at michaelzanggl.com Originally posted at michaelzanggl.com. Subscribe to my newsletter to never miss out on new content. There is a convention to prefix boolean variables and function names with "is" or "has". You know, something like isLoggedIn, hasAccess or things like that. But throughout my career I have seen and
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く