Javadoc'un dediği gibi, kendinizi temizlemek için 'a ihtiyacınız yoktur. Ancak, okuyucular ve sağduyu göz önüne alındığında, yine de iyi.
Birkaç uzman javadoc'u kalpten bilir. Akıntının bakılmaksızın temizlenip temizlenmeyeceğinden emin değilim ve muhtemelen yalnız değilim. Açık flush()
görüşünü görmek, bunu mükemmel bir şekilde temizler, ve bu nedenle kodun okunmasını kolaylaştırır. Ayrıca, close()
yöntem adı, yıkama hakkında hiçbir anlam ifade etmemektedir. Closeable
arabiriminden, ve doğal olarak, yıkama hakkında hiçbir şey söylemiyor. Kapanmadan önce arabelleğe alınmış bir çıktı akışını akıtmazsanız, temizlemeyi istemesine rağmen, doğru veya yanlış olabilecek varsayımlara güvenebilirsiniz. Uygulamanızı zayıflatır.
Herhangi varsayımlar size nasılsa gelecek maintainers'ı geçmek gerekir yapmak. Bu yorumu gitmezsen benim gibi onlar 'yok eğer
// no need to flush() manually, close() will do it automatically
, gelecek Maintainers çok javadoc arama için olabilir: Bunu yapmanın bir yolu, bir yorum bırakarak gereğidir ezberlemiş. Ama sonra, neden şimdi kendiniz aramak ve onunla bitmek daha kolay ve daha iyi olduğunda böyle bir yorum yazabilirsiniz. Kısaca, önce kapamadan önce kızarma, basit bir mantığı takip etmektir. varsayımlarına ve ikinci tahminlere ihtiyaç yoktur ve okuyucularınızın düşünmesine gerek yoktur.
IMO, yok, ama bu size Yazar veya OutputStream uygulamasından geçiş eğer Gerekli olanlara floş yok, sen sahip beklenmeyen davranışlara sona erebilir :-) iyi bir fikir olduğu anlamına gelmez. Bazı işe yaramaz flush() 'lerin kötü bir JVM tasarımına sahip olduğunu, sonra cevabımın belki "belki" :-) olduğunu söyleyebiliriz. JVM'nin önceki sürümleri de sorunsuz bir şekilde çalışıyorsa, araştırmamız gereken başka bir şey geriye dönük uyumluluk hakkındadır. flush(). – Leo
Tam olarak ne için soruyorsunuz, hangi linke bağlandığınız ile ilgili değil mi? – jarnbjo
@jarnbjo, Sadece bunun sadece bir kuralın açık bir şekilde uygulandığı iddialı bir iş olup olmadığını bilmek istiyorum. – Jaskey