Jeff King <peff@xxxxxxxx> 于2021年4月8日周四 下午10:32写道: > > On Thu, Apr 08, 2021 at 08:18:59PM +0800, ZheNing Hu wrote: > > > > I think this is a reasonable direction to take the solution: wrapping > > > the loop so that the reuse of the buffers can be included there. > > > > > > But I do wonder if we should go the opposite direction, and get rid of > > > show_ref_array_item() entirely. It only has two callers, both of which > > > could just write the loop themselves. That is more code, but perhaps it > > > would make it more clear what is going on in those callers, and to give > > > them more flexibility. > > > > > > > Indeed. I think `pretty_print_ref()` is proof that we may need to keep > > `show_ref_array_item()` because If it modified to `show_ref_array_items(...,1);` > > it will look very strange. > > What I meant was that we should get rid of show_ref_array_items(), as > well, and just use format_ref_array_item() everywhere. This whole > wrapper is only saving us a few lines, and it makes it harder to see > what the function is doing. Likewise for pretty-print ref. But I dunno. > Maybe that is all going too far. > Ok... so you mean we just use a loop like in branch.c, and get rid of show_ref_array_items() and show_ref_array_item(). (We can still use the optimization of reuse bufs) > -Peff -- ZheNing Hu