What makes software mature and stable? A mature system lacks no essential features. Users with different habits feel comfortable with the behavior. Stable features interact well under many workflows. In short, the code is robust. Unfortunately, mature code is usually hard to maintain.
Refactoring is the art of making software better without spoiling existing functionality. Rewriting code from scratch does not qualify as refactoring.
Mature code has captured the knowledge of many participants -- programmers, testers, and customers -- over years of use. Most design decisions are described only in the code itself.
Re: 「成熟した」 (スコア:1)
意訳っぽい気もするので原書があるプログラミングの本と対訳をつき合わせてみます。タバコもがまんするとかえって能率落ちるといいますし :)
Re: 「成熟した」 (スコア:1)
こんばんは、dsegさん。毎度ありがとうございます。読み返すと不自然な日本語ですね。迷ったときはっと…、"mature code"でググってみました。
たとえば、Is SQUID 2.3STABLEx a mature code ? [squid-cache.org]は、「枯れた」の意味ですね。一方で、Mozilla Code Review [mozilla.org]には、
という書き方で、stableと並記ですから単純に「年食った」って意味だと思います。おっ、Refactoring is not rewriting [billharlan.com]には四回matureが出てきてます。
この文脈に出てくるmatureには、「枯れた」の条件であるstableやrobustとは切り離された意味で使っているように思います。原文 [slashdot.org]では、freshの対比でmatureが出てきますから、「できてから年とった」という意味かしら。
訳文を「若いコード」と「古いコード」にしたら良くなると思うんですけれど、どう思いますか?
Re: 「成熟した」 (スコア:1)
robust や stable は対訳も(恐らく「堅牢な」「安定した」)と目にするので、 mature を「枯れた」と訳するのかな、とフィーリング読みで思っただけなのでした。
BSDという背景を考えると、「成熟した」も良い(==適切)かもと今になって思いました :)
SOggyさんの引用してくれたを読んで、mature and stableを「枯れた」と一般的に訳すのかな、と思いました。
mature も良いニュアンスなのでしょうが、単体の時はどう訳すのが適切なのでしょうね。やはり「版を重ねて安定した」という意味で「古い」かな...。状態に対する、良い悪いのニュアンスが関係してくるので、難しいですね。結論出ズ。とりとめもなく書いてしまいました。
# 古いだと そのまま'古い'ですが、'枯れた'だと良いニュアンスが伝わるように思います
Re: 「成熟した」 (スコア:1)
私が最初に出した、「成熟したコード」という言い回しは、指摘があって気になっているせいもありますけれど、日本語としては不自然な言い回しに感じます。「成熟した」でググって出てきた用例を眺めていて、「自然物または、それに由来する人工物で人手があまりかかっていないもの」または「概念や抽象」以外を修飾すると、私は不自然に感じるようです。不自然に感じるのを挙げまてみると、
- 成熟したGUIツールキット
- 成熟した(犬の)ブリーダー
- 成熟した住宅地
- 成熟したプロレスファン
どうですか?。ただし、「成熟した人妻」(ググってトップに出てきたんで他意なし :) )はオッケーで、「成熟したブナ林」は不自然に思うので、前提が不完全かな。さて、言い回しが自然か不自然かはひとまず置いておきましょう。
- リリースから日にちがたっている
- 版を重ねている
- 安定している
の三つの状態をあわせ持っているのが「枯れてる」だと思います。もちろん良い意味ですね。改めて、英英辞書を引くと、 が二番目に挙がっています(一番目は、ripe; full-grown)。ですからmature単独でも「枯れた」といって構わなさそうです。前回 [srad.jp]は、1と2の意味しか無いと早とちりしていました。さらに、matureと対比しているfreshに「未熟な(=安定していない)」の意味があることに気付きました。したがって、freshとmatureの訳として、あの文脈では「若い」と「枯れた」が最適のようですね。
たった一つの単語でずいぶん悩んだけれど、濃密に勉強できました。感謝感謝。
Re: 「成熟した」 (スコア:1)
>はオッケーで、「成熟したブナ林」は不自然に思うので、前提が不完全かな。
ブナ林は「成熟」から一般的に連想する時間経過を超えてるから不自然に感じるような気がします。
なので、SOggyさんの前提は正しいと思いました。
「若い」「枯れた」は読んでみても自然でした。
蛇足ですが「枯れた」というのは大変上手い訳語だな、と思います。
「枯れる」からはネガティブなイメージが湧きますが、「枯れたコード」というのは不必要な部分を削ったり修正したりという作業を経た結果の状態(加えて人工物)なので、「時間が経てばその状態になる」"成熟"よりは"枯れる"の方が適切な表現だなあ、と。
# 私も勉強になりました。またまた面白かったです。