在培训期间,学生的时间应该如何分配
学生在学习期间的主要工作时间分配
- 9:00~ 9:30,认真听同学的学习阶段中的分享,俗话说的好"三人行,必有我师";
- 9:30~ 18:00,认真听老师的课堂上课,并且要准备好一个手写笔记本,好记性不如烂笔头,当然我个人认为记录在电脑上,并不靠谱,而且在复习时还费眼,我从开始上学到现在就一直有在笔记本上写写画画的习惯;
- 19:00~ 20:00,用一个小时的时间,回忆今天上课的知识点,这时笔记本的重要性就体现了,它可以帮助我们心无旁骛的复习和总结;
- 20:00~ 22:00,用来完成今天的作业及预习第二天的内容,并且将作业中遇到的问题及预习时遇到的问题记录下来,在第二天上课时可以拿出笔记本来问老师;
如果还有遇到需要时间去补习的内容,可以在每个周周六、周日,通过解决笔记本上的遗漏知识点来补习.
程序员的主要工作是什么
- 阅读代码
- 阅读公司中已经处于迭代过程中的代码(理解公司前辈开发过程中的开发思路);
- 阅读Github上的优秀的代码框架(比较Forks与Stars的数量)(学习其他优秀程序员编写代码功能时的思路);
- 阅读代码的目的,是我们要做到对项目代码的执行流程和细节做到胸有成竹;
在阅读代码的过程中,需要注意的流程:
1.首先复制一份原始代码到当前路径,并且保存为文件名加日期;
例如:LODoudizhu2015-03-22
2.然后找到AppDelegate.m
文件,并且从程序的启动流程中,阅读相关的功能代码;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //... //程序启动流程}
3.尝试注释程序中的某行我们认为的重要性语句,并且运行程序看结果;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; //例如,如下行的代码就非常重要,因为它决定了我们的本程序是否可以显示界面 //[self.window makeKeyAndVisible]; LO_RootViewController *root = [[LO_RootViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:root]; self.window.rootViewController = nav; return YES; }
4.当遇到与我们期望的运行结果不同时,可以通过进入该函数内部查看内部的实现代码,并且重复第三步;
5.直到,我们可以将我们负责的模块功能的实现方式.
- 编写代码
- 编写功能中的主要逻辑代码(主要以实现功能为主);
- 编程功能中需要测试逻辑是否正确的测试用例(主要以测试Bug为主);
- 编写提供给同事或者其他人的接口代码(主要以代码使用方便为主);
1.主要逻辑代码刚刚写完时,其实会很丑,有很多的if,for等等,举例如下:
- (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error { // if ([result.address isEqualToString:self.startAddressTF.text]) { // 说明当前编码的对象是开始节点 self.startNode = [[BMKPlanNode alloc] init]; // 给节点的坐标位置赋值 _startNode.pt = result.location; // 发起对目标节点的地理编码 // 1.创建正向地理编码选项对象 BMKGeoCodeSearchOption *geoOption = [[BMKGeoCodeSearchOption alloc] init]; geoOption.city = self.endCityTF.text; geoOption.address = self.endAddressTF.text; // 执行正向编码 [self.getCodeSearch geoCode:geoOption]; // self.endNode = nil; }else{ self.endNode = [[BMKPlanNode alloc] init]; _endNode.pt = result.location; } if (_startNode != nil && _endNode != nil) { // 开始进行路线规划 // 1.创建驾车路线规划 BMKDrivingRoutePlanOption *drivingRoutOption = [[BMKDrivingRoutePlanOption alloc] init]; // 2.指定开始节点和目标节点 drivingRoutOption.from = _startNode; drivingRoutOption.to = _endNode; // 3.让路线搜索服务对象搜索路线 [self.routeSearch drivingSearch:drivingRoutOption]; } }
2.用例测试代码在编写过程中,其实是最消耗时间的部分,因为要大量的举例论证Bug:
// Use this for initialization void Start () { //打开数据库 LOSQLiteTools.OpenDB("yihuiyun"); SQLObject[] list = LOSQLiteTools.SelectEntity (typeof(Student)); foreach (SQLObject item in list) { Debug.Log (item.ToString()); } }
3.当开始给同事编写接口代码时,要注意的地方就是方便些与扩展性的问题了:
#region 公开函数 /// <summary> /// 异步加载资源 /// </summary> public IEnumerator LoadAssetAsync (string assetBundleName) { //开始加载包裹 yield return StartCoroutine(LoadAssetBundle (assetBundleName)); } /// <summary> /// 异步加载场景 /// </summary> public IEnumerator LoadLevelAsync (string assetBundleName) { //加载资源包 yield return StartCoroutine(LoadAssetBundle (assetBundleName)); } #endregion
时间: 2024-10-06 10:49:10