Drupal PHP Coding Standards I have declared two items in my hook menu.

//Calls a function that enables inputting/updating data of a particular template.
$items['user/%user/myid_inputting'] = array(
    'title' =&gt; 'MyID Inputting',
    'description' =&gt; 'Inputting data for a particular data',
    'page callback' =&gt; 'myid_inputting',   
    'page arguments' =&gt; array(1),   
    'access arguments' =&gt; array('perform_regular_task'),
    'file' =&gt; 'includes/myid_inputting.inc',
    'type' =&gt; MENU_LOCAL_TASK,
    'weight' =&gt; -20,
);

//Calls a function that enables ID printing
$items['user/%user/myid_printing'] = array(
    'title' =&gt; 'MyID Printing',
    'page callback' =&gt; 'myid_printing',
    'page arguments' =&gt; array(1),    
    'access arguments' =&gt; array('perform_regular_task'),   
    'file' =&gt; 'includes/myid_printing.inc',    
    'type' =&gt; MENU_LOCAL_TASK,
    'weight' =&gt; -19,
);


I had used two separate files for the two items. Is that best practice in Drupal?
I just notice some functions that I used are redundant when separating the code between the two. What are advantages and disadvantages of doing so?
If the code in myid_inputting() and myid_printing() is different and large, you might want to keep these callbacks separate. I generally avoid having too many lines in one file, so whenever it's possible to logically organize the code of your module into files, it's better to do so.

Regarding the code that is redundant: I always have a separate file with helper functions where I store functions that need to be shared. Include this file at the top of the .module file, and you're all set. You can see an example in my D7 module boilerplate on Github.

Here's how you would include the helpers file (this would go at the top of the .module file):

// Load the helper functions.
require_once dirname(__FILE__) . '/YOUR_MODULE.helpers.inc';


Back to your case - leave different code in separate files, make helper functions for the rest and move it to YOUR_MODULE.helpers.inc. This works great for very large modules as well, and is self explanatory when more people are working with you on a project.

Hope this helps.