I recently joined a software project and discovered that the current architecture relies on line numbers of input data files. For example, the data on line 248 of an input file corresponds to file ID 247.
My gut tells me that this is dangerous and bad practice, but I'm too green to be sure. The people working on the project say that they did it for better performance, and that it shouldn't be a problem as long as we're careful to maintain the same format. I'm worried that future modifications could inadvertently lead to disaster, and doubt that the performance gains are that great.
Would this be considered bad practice? Or is this a perfectly normal thing to do?
Edit for clarification: The data is always generated by machine, not a person, so it's at least safe in that regard. It's a recurrent import, and there are multiple types of files with the same format (ID = line number - 1) but different data. Thus, a mistake in one input file would make it inconsistent with all the other data.