写代码的基本思路有哪些