`
pollyanna
  • 浏览: 8070 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论
  • pollyanna: css中clear的作用:clear 属性定义了元素的哪边上不 ...
    CSS学习

party_bid第三张卡片

 
阅读更多

    这一张卡片花了较长的时间去完成。问题主要出在我在完成这张卡片时,对这张卡片涉及数据的存储还有传递考虑的不周全,写到一半的时候把自己给绕晕了,又回去改数据结构,如此翻来覆去好几次。
    在这一张卡片里我对前面所设计的数据进行了修改,又添加了两个新的全局变量。
    activity_list(活动列表):activity_id,participants,registration_state,the_last_page,bidding_list
    current_activity(当前选定的活动):activity_id   
    current_registration(当前在报名的活动):activity_id
    current_bidding(当前选定的竞价项目):activity_id,bidding_id
    current_choose_bidding(当前在竞价的竞价项目):activity_id,bidding_id
    下面仔细说一下和上一张卡不一样的地方:

    我在活动列表activity_list中进行的修改:
        1.为了和竞价的状态做一个对比,我把原来表示报名状态的state改成了registration_state。
        2.增加了bidding_list,用它来储存当前活动的竞价信息。bidding_list里面包括了该活动的每个竞价的id,状态bidding_state,还有竞价的参与者bidding_participants。
        3.增加了一个the_last_page,用它来实现从哪个页面跳到活动列表页面,那么就从活动列表页面跳回哪个页面的功能。(这个功能是应我的要求,在和李杨讨论后,新添加的。虽然后来证明并不适用,但是由于它反映了我在思维上的漏洞,我决定把它留下来提醒我自己。)

    我对current_activity中进行的修改:
        在上一张卡片的current_activity中存储了当前选定活动的所有信息。在这一张卡片中,我发现这个样子做并不好。一方面是浪费存储空间,更重要的是,它会对我的编程起一个干扰作用。比如说,我在对activity_list进行改变的时候,我得讨论一下对current_activity的值是否会造成影响,and vice versa。
   
    还增加了current_bidding和current_choose_bidding两项,来对当前所选定和当前正在进行的竞价项目进行标记。


这一张卡片的收获:
    1.在这一张卡片中,对面向对象的语言有了一点认识,但是在使用的过程中还存在着问题,仝老师给我提出来了,我还需要在后续对它进行修改。
    2.对于mvc有了一点认识,model对数据进行处理,view显示,controller起一个粘合作用。强调一下controller中一定不要涉及对数据的操作!!
    3.对待万恶的magic_number一定不能手下留情,以后在写代码的过程中,一定要消掉magic_number,不要坑队友。
    4.写程序的时候要注意解耦。(现在对它的操作还在很浅显的层面,以后要多多practice)
    5.学会了一些快捷键的使用。
    6.在完成第三张卡的过程中,把系统给搞坏了一次。知道了recovery mode可以修护软件包,让系统活过来。
   

这一张卡片的问题:
    1.数据的储存和更新一定要分开,细化每个函数的功能。每一个函数不要超过15行。
    2.在写我自己添加的跳转功能时,我发现了我的思维很单一。写程序的之后,一个模块一个模块的单一考虑,没有考虑到它对全局的影响。只考虑到了它对一个活动的影响,没有想到它对其他活动的影响。这是一个很大的漏洞,以后在想问题的时候记得check一下1->N的情况,并且在自己的脑子里演练一遍,看看是否可行。
    3.自己遇到的问题没有做总结,下一次遇到的时候又是抓耳挠腮。下一次不管问题我觉得有多么的trivil都一定要记下来。

接下来需要做的事情:
    1.找一些面向对象的书籍看一下,理解一下面向对象语言的意义。(>-<,这个真的好让人头疼。有点打破我以前的思维方式。But I should keep that in mind: When my muscles are hurting, I am doing it right!)
    2.找一些关于流程抽象和数据抽象的资料了解一下,或者和同学探讨一下。
    3.理解一下什么是封装。(>-<,好抽象呀!!抓破脑袋啦~!!)
    4.对象中的this,prototype的理解不好,找些资料看看,看看别人怎么使用。
    5.看一下underscore的内容。
    6.用jade代替html程序。
    7.用url传参数改一下函数,省掉一些不必要的localStorage。
    8.系统的学习一下github.



mark一下老师们推荐的书:
《面向对象的Javascript》
《Javascript高级程序设计》
《JS权威指南》
《JS核心概念与实践》
《编写可读代码的艺术》
《代码整洁指导》
《JS语言精粹》

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics