Feature #583
TmpdirとTempfile
| Status: | Rejected | Start date: | 09/22/2008 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | - | |||
| Target version: | - |
Description
TempfileにTmpfileという別名を付けてTempfileは2.0では廃止する方向で。
History
Updated by knu (Akinori MUSHA) over 3 years ago
tmpdirの方が後にできたわけだし、TmpよりTempの方がいい省略形だと思うんですが、 Tmpdir→Tempdirは考慮外でしょうか。
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
なおPOSIXにあるのはtmpfile()です。 あとUnix系OSでは伝統的に環境変数TMPDIRがあることが多いでしょう。 したがって私としてはTmpfile, Tmpdirのほうが慣習にそった名前であると思います。
Updated by mame (Yusuke Endoh) over 3 years ago
遠藤です。 2008/09/22 19:06 Shyouhei Urabe <redmine@ruby-lang.org>: > したがって私としてはTmpfile, Tmpdirのほうが慣習にそった名前であると思います。 慣習という話では、ruby ではもう tempfile/tmpdir という慣習があると 思います。 ちなみに Google のヒット数: tempfile : 1,130,000 tmpfile : 523,000 tempdir : 401,000 tmpdir : 877,000 あとは、他の LL を見た感じ Perl : tempfile/tempdir (File::Temp) Python : tempfile/tempdir (module tempfile) PHP : tmpfile/tmpdir ですかね。適当に調べただけなので間違ってたらごめんなさい。 今更名前を変えるほどの理由があるようには思いません。 -- Yusuke ENDOH <mame@tsg.ne.jp>
Updated by knu (Akinori MUSHA) over 3 years ago
SUSv3にはtmpfile(3)より新しいmkstemp(3)があって、Tempfileの機能はそちらに倣っています。
…というのは言ってみただけで、そもそも、揃えたい動機は何なのかがわかりません。
tempfileとtmpdirのインターフェースって、TempfileをTmpfileにしたところで
Tmpfile.open { |f| ..fはTmpfileオブジェクト.. }
Dir.mktmpdir { |d| ..dは文字列.. }
でぜんぜん揃いませんよね。なんで互換性を失ってまで名前だけ変えるんですか?
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
ん、当然そこのインターフェースも揃えるんだと思ってましたが。 今のTempfileって正直Delegatorの習作みたいな感じがしてあんまり好きじゃないです。
Updated by knu (Akinori MUSHA) over 3 years ago
インターフェースが好きじゃないから名前を変える? 何が当然なのかさっぱり読み取れないんですが。じゃあこのissueは何なの? tmpfileというライブラリを作って将来的にtempfileは廃止しようってことなら、 はっきりそう提案してください。
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
なんなんでしょうね。俺に切れられても困りますが(First Post俺じゃないし)。
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
まあそれはそれとして自分の意見を書いておきますね。
1 tempfileとtmpdirは純粋に分かりづらすぎる。require "tmpfile"を書
いたことは思い出すだけでも片手では数え切れないくらい経験してい
る。したがって改名に賛成。
2 名前としてtempfileとtmpfileなら、tmpfileのほうが好き。POSIXから
の慣習に沿っている。
3 現在のtempfileの設計とか実装は好きじゃない。たとえば
* Tempfile.openにブロックつけて起動したらブロックの最後でunlink
してほしい。
* Process.daemonするとゴミファイルが残るのはどうにかしてほしい
4 名前を変えて再出発するなら、せっかくなので上記のような点もふく
めて再設計するのがいいと思う。
Updated by knu (Akinori MUSHA) over 3 years ago
このissue自体、文脈もなしにいきなり(リリースマネージャから)出てきたので面くらいました。 卜部さんの「当然〜と思ってました」には、このissueの何らかの経緯を共有しているにおいを 感じたんですが、違いましたか。 まあ、提案はいいんですが、オフトピックですよね。 ruby-devでもっと具体的な内容に落として議論した方がいいと思います。
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
そうですね。「当然〜」は誤解をまねく表現でした。ごめんなさい。
Updated by yugui (Yuki Sonoda) over 3 years ago
- Target version set to 3.0
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
- Assignee set to nobu (Nobuyoshi Nakada)
Updated by mame (Yusuke Endoh) about 2 years ago
- Target version set to 3.0
Updated by shyouhei (Shyouhei Urabe) over 1 year ago
- Status changed from Open to Assigned
Updated by naruse (Yui NARUSE) 7 months ago
- Project changed from ruby-trunk to 14
- Target version deleted (
3.0)
Updated by naruse (Yui NARUSE) 7 months ago
- Project changed from 14 to ruby-trunk
Updated by mame (Yusuke Endoh) 4 months ago
- Status changed from Assigned to Rejected
- Assignee changed from nobu (Nobuyoshi Nakada) to matz (Yukihiro Matsumoto)
長期間進展がみられないので閉じます。[ruby-core:42391] を参照。
--
Yusuke Endoh <mame@tsg.ne.jp>