Today I was asking a question which was basically about file transformation and while tagging it I looked up to see if it is appropriate for my question. Unfortunately, there are more than 300 uses, but no tag wiki and the excerpt only gives a brief description of the term file, but no usage guidance:

A block of arbitrary information, or resource for storing information, accessible by the string-based name or path. Files are available to computer programs and are usually based on some kind of persistent storage.

From some of the top voted questions, I assume that the tag should be used for any case where operations on a particular file are performed. Am I correct in assuming so? If yes, shouldn't it be appended to the current usage recommendation? If no, what is the scope of the tag, and shouldn't it be more obvious?


1 Answer 1


There are quite some things problematic with this tag:

  • Tag Excerpt is c/p'd from SO
  • Unclear boundaries and scope
  • Generalistic "problem domain"

This tag is really tenaciously avoiding clarification. It can theoretically refer to multiple things:

  • Files on the file-system, with their content being irrelevant
  • Files on the file-system, with the content being integral to the code under review
  • The Java-class File, part of the general I/O API
  • More specific kinds of files ( and come to mind)
  • [...]

I daresay this tag is too broad in it's current form. It's scope is non-clarifiable, because splitting it is near-impossible.

It's used with 24 different language-tags up to now and is interestingly seldom used in connection with (only 28 of 302 questions at the time of writing)
From what I can see, almost all questions that use actually deal with ...

Since is significantly easier to scope, and probably all questions are actually about anyways I propose to synonymize into

  • \$\begingroup\$ What about [file-io]? This can be significantly different from other sorts of I/O operations. I'd make the case that file is a bad tag all around, and [io] is probably too broad. \$\endgroup\$
    – nhgrif
    Commented Mar 26, 2016 at 17:33
  • \$\begingroup\$ that sounds like a real alternative, but why isn't there specific "subtags" for other I/O? [network-io], [cross-process-io], [whatever-io],... \$\endgroup\$
    – Vogel612
    Commented Mar 26, 2016 at 17:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .