If you build a theme then it might not be a bad idea to use get_template_part() to avoid extra code (and testing, debugging etc).
The most logical place would be in the index,archive and individual post pages.
This allows you to have one template that contains and individual post.
The most relevant information:
1 <?php get_template_part( 'loop', 'index' ); ?>
will do a PHP require() for the first file that exists among these, in this priority:
This means that you can decide in your pages to use templates for loop-index, loop-archive etc but not design them yet. creators of child theme can create a a loop-index etc.. without the need to modify the original index template.
In the TwentyEleven Theme it is done with the following code, so that for each type of post a special content template can be used (but is not required):