# Time management for contributors 开发时间安排 Well, 12 weeks isn’t a lot of time to write all the code and have all the fun that you’re supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. ``` 12周的时间并不是很多,需要高效的时间安排。 虽然谷歌已经有明确的时间线来确保工作顺利进行, 你依然需要和导师安排合理的、适合于你们项目的时间线。 ``` Beginning in 2022, you and your mentor can decide together (with the organization administrator’s approval) that you wish to extend the project longer than the standard 12 weeks for up to 22 weeks. Be sure you have a clear path and expectations on how the work will be divided over this new adjusted timeframe. Maybe there is a full month in the middle where you have finals or are expecting a child and know you won’t be able to fully commit to GSoC during that time, that can be okay as long as you and your mentor have agreed on a plan together. ``` 从2022开始,你和导师可以共同决定(在管理者同意下)延长项目开发的时间 (从12周至22周) ``` The following are some suggestions that can help you to manage your time well: ``` 下面是一些对于安排时间方面的建议: ``` ## Community Bonding Period 社区联结期 There’s already a complete section in the guide on this. (It is that important.) Use this time to get familiar with your community, setup your development environment and get an early start on the code development. This is time where you’re getting to know your mentor and other GSoC contributors. Chat with them in chat rooms, ask questions and share ideas on projects and get ready to begin the fun ride ahead. ``` 社区联结期很重要,已经有单独的一节文章讲述。 这段时间你需要熟悉开发者社区,搭建你的开发环境,尽早开始开发。 这也是你了解你的导师与其他开发者的最好时机。 与他们聊天、讨论问题、分享思路、提前享受乐趣。 ``` ## Be upfront about your time commitment 对你在时间上的承诺坦诚 GSoC needs an investment of about 175 hours for medium size projects and 350 hours for large projects. If you know in advance that you’ll need to take a few days or even weeks of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days by extending the standard 12 week program or having heavier coding weeks to accommodate the missed time. You and your mentor have the opportunity to add some flexibility into your schedule up to a point. However, you both will need to agree on any planned breaks, an adjusted end date for your project, etc. ``` GSoC中,中等大小的项目(medium)需要175小时,大项目(large)需要350小时。 如果你在GSoC中需要度假或者休息,需要提前告知你的导师,以安排时间补足缺失的工作。 可以是延长时间,也可以是加大工作量,灵活地选取方式来完成计划。 但是,你和你的导师必须达成共识。 ``` ## Regular meetings with your mentor 定期和导师交流 You should absolutely, absolutely make sure you’re interacting often with your mentor through mutually agreed upon communication channels. It is extremely important that you and your mentor are on the same page in terms of the project status and plans. Your mentor is your biggest resource and you should make sure that you capitalize on that well. ``` 你必须确保你经常与导师交流意见,在社交频道中达成共识。 尤其是对于项目的状态和计划必须有同等的认知。 导师是你最丰富的资源,而你必须重视这点。 ``` ## Have mini-goals for each week 每周定小计划 It always helps to set short-term goals that you can discuss with your mentor. Breaking down your project into smaller tasks helps in many ways: ``` 短期的计划很有帮助,你可以和你的导师讨论,设下短期计划。好处有: ``` - It gets you started!! You have a smaller, well-defined task to work on which is easier to manage. - Mini-goals help create a road map to get to the final output you’re trying to produce. - Smaller goals are less daunting, and completing a small goal gives you the confidence to tackle the next one. ```markdown - 让你能立马开动——如果有一个简单的、明确的任务,你会更容易上手 - 可以逐步构建一张指引最终成果的路线图 - 小目标不会令人害怕,完成目标之后会让你有信心完成下一个 ``` ## Regular code reviews 定期检查代码 Regular code reviews are extremely important for staying on track. Don’t be afraid to ask for them as frequently as you need them. It is much better to ask for a code review after 10 or 20 lines instead of hundreds of lines. If your mentor tells you that you are going about something the wrong way, you don’t want to find out after writing a ton of useless code. ``` 定期检查代码很重要。最好经常请导师看你的代码。 ``` ## Maintain a log to keep track of your progress 保持记录日志 Keeping a log of your progress is a great way to monitor progress both for yourself, your mentor and anyone else. It also turns out to be valuable in cases when you need to go reconsider a decision and figure out why you made that choice in the first place. Blogging is a good way to achieve this, since you may get good advice in the way of comments from people that you normally wouldn’t communicate with, and it gives you a bit of limelight as well. ``` 保持记录日志。 ``` ## Handling the time-zone differences 处理时区差异 It’s very likely that your mentor is in a different time zone than you are. Be sure that you take this into account while you’re preparing your plan. Time zones should be included for any meeting times, and UTC is often the best time zone to use, since it is not affected by Daylight Savings Time. ``` 你和你的导师大概率所在时区不同,最好用UTC表示时间。 ``` ## Be prepared for the unexpected 为意外做好准备 Things usually don’t go the way you plan them. Make sure you have room for the unplanned changes. It’s always best to keep aside some buffer time that you can use in case you do digress from your original plan and save yourself from considerable pain and panic attacks. ``` 很多事不会像你安排的样子进行。确保你对这些变化留足调整空间。 ``` Of course, do remember that GSoC is not just all coding and working. It’s about having fun too! If you manage your time well, you will have a great Summer of Code, meet interesting people and have lots of fun. ``` 当然,GSoC不全是关于写代码与工作,享受其中的快乐也是很重要的。 如果你能安排好你的时间,你能感受到很多的快乐。 ```