How do you delete or deactivate the apex classes / triggers on your Salesforce Production Org? Unfortunately, it is not as simple as going to the Apex class and hitting the delete button or unchecking the ‘Active’ checkbox.
For deleting or disabling the code, you can take any of the following routes (listed in the order of its ease of use)
1. Probably the simplest way to delete / disable is to connect to your Salesforce production org using eclipse and Force.com IDE, download the apex class / trigger, change the status of the Apex class / trigger to “Deleted” or “Inactive” in the class/trigger XML file in Force.com IDE and save. Here is the step-by-step guide with screenshots on how to do the same
2. The 2nd way is to make changes in your sandbox or developer org and then deploy the changes to your Production org. Refer to Salesforce knowledge article http://help.salesforce.com/apex/HTViewSolution?id=000006188&language=en_US on how to use this method
3. And the 3rd way is to use Force.com ANT based Migration Tool with destructiveChanges.xml. Let me come up with a step-by-step guide on that too and I will update the blog post once ready