Clean.
戦闘機などの軍用機がハードポイントやウェポンベイに何も搭載せず、空荷状態の事。
最大のパフォーマンスを発揮する事が出来る。


出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/08/06 23:38 UTC 版)
| パラダイム | 関数型言語 |
|---|---|
| 登場時期 | 1987 |
| 設計者 | Software Technology Research Group of Radboud University Nijmegen |
| 最新リリース | 3.1/ 2022年1月5日 |
| 型付け | 強い型付け, 静的型付け, 動的型付け |
| 影響を受けた言語 | Lean、Miranda、Haskell |
| 拡張子 | .icl、.dcl、.abc、.obj |
Clean(クリーン)は、プログラミング言語の一つで、純粋関数型言語である。Haskell とよく似ている。
一意型により、参照透過性を保ちつつ、ファイルの破壊的な更新などができる。これは、参照透過性を保つためには値を複製した上で結果として返す必要があるが、その後複製元を二度と使用しない(参照しない)ことが保証できるのであれば、わざわざ複製せずとも直接破壊的に値を更新しても構わない、という考え方に基づく。例えば、変数aに1を加算するには
a = 1 a2 = a + 1
のようにして、以降a2を使用する。もし今後もa = 1という前提で使用するならばこの方法しかないが、そうでなければaは無駄になる。しかし、プログラマはa = 1を二度と使用しないとわかっていても処理系にはわからない。それを処理系に知らせる手段が一意型(一意性型属性)である。処理系がa = 1という定義を二度と使用しないとわかりさえすればa2は不要となり、aを破壊的に更新していけばよい。無論a = 1であることを期待してaを使用すると期待通りに動かなくなるが、それは最初に処理系と交わした約束を破ったということにほかならず、コンパイラの型推論システムはaを一意型に型付けしない。つまり、aの管理はコンパイラの型推論システムが責任を持って行うことになる[要出典]。
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/17 06:20 UTC 版)
デビッド・スコット・バーンスタインは、レガシーコードからの脱却で良いソフトウェアの土台となる5つのコード品質として以下を挙げ、CLEANと名付けている。 Cohesive(凝集性):特性が明確に定義されているべき Loosely Coupled(疎結合):はっきりした責務を担うべき Encapsulated(カプセル化):実装は隠蔽されるべき Assertive(断定的):オブジェクトの状態は自分自身が管理すべき Nonredundant(非冗長)オブジェクトの定義は一度だけにすべき
※この「CLEAN」の解説は、「ソフトウェア品質」の解説の一部です。
「CLEAN」を含む「ソフトウェア品質」の記事については、「ソフトウェア品質」の概要を参照ください。