Agility Kata “Viewing CSV Files III”
Make the CSV viewer capable of displaying huge CSV files; think 3 times the GB of your computer’s memory. Yes, the CSV viewer should be able to handle billions of data records, or at least many more records than would fit into memory.
Still, when the application is started, the first page should be displayed immediately. But of course then the maximum number of pages cannot be known – yet. As long as that´s the case, just put a “?” after it:
No.|Name |Age|City |
1. |Peter|42 |New York|
2. |Paul |57 |London |
3. |Mary |35 |Munich |
Page 1 of 3?
N(ext page, P(revious page, F(irst page, L(ast page, J(ump to page, eX(it
 This implies there´s background processing taking place. The file has to be further processed after displaying the first page, because the user wants to know the exact number of pages and wants to be able to immediately jump to any page (that has already been processed). With regard to high usability it´s no option to only start reading from the file when the user has entered a page number to jump to.