Towards Effective Code-Integrated Reasoning