`
Zhongwei_leg
  • 浏览: 555168 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Stack Overflow 的设计原则

阅读更多

Stack Overflow 原意“堆栈溢出”,Stack Overflow是一个由开发人员成立,服务于开发人员的问答网站。

 

 

Stack Overflow提出了一个“九宫图”,每个概念都是从其它网站借鉴的。投票: 来自Reddit, 通过Digg实现。让提问者对答案进行评价。


标签(Tags): 标签有助于用户明确问题。


编辑 (Editing): 模仿维基百科,用户可以编辑问题和答案。


勋章(Badges): 拿破仑曾说,为了荣誉彩条,士兵打仗时会更加持久、卖力。Stack Overflow也给用户提供勋章等级。

 
业(Karma): 与其为一点钱去做自己不愿意做的事,人们更愿意免费做。Stack Overflow鼓励用户多多奉献,业多,特权多。


预搜索(Pre-search): 一旦你开始输入问题时,网站会提示是否之前有人提过类似问题。


Google UI: Stack Overflow假设人们会从Google那里寻找问题的答案,所以所有问题的网址链接都以问题的名字命名,确保更容易被搜索引擎收录。


效果(Performance): 必须保证提供快速的答案。为此Stack Overflow建立在微软堆栈之上。一台是网络服务器,另一台运行微软的SQL服务器2008,都采用了八核处理器。


临界质量(Critical Mass): 最开始一定要保证人手,确保有回答问题的人。

 

以上援引自: http://www.hudong.com/wiki/Stack+Overflow

 

 

说说我的感想:

 

采用“九宫图”来做设计原则描述,非常直观。同时也告诉我们,在设计和规划时,尽量压缩需求,把核心原则列出即可。因为我们不可能兼顾太多的东西,太多反而容易分散我们的注意力。就像 Python 的原则一样 “Simple is better than complex”

 

所以,我们做日常计划时,不妨画这样一个九宫图,把最重要的事列出来,认真对待就可以了。不至于兼顾太多,最终一事无成。

 

分享到:
评论

相关推荐

    Stackoverflow架构设计和开发内幕

    - Stackoverflow的开发团队遵循YAGNI(You Aren't Gonna Need It)原则,这意味着他们会尽量避免做眼下不需要的功能。 - 虽然团队的测试实践很少,这一点从“Eeek! very few tests”反映出来,但这并不意味着没有...

    C语言实现的栈Stack

    printf("Stack Overflow\n"); return; } s->array[s->top++] = item; } ``` 3. **弹栈(pop)**: 弹栈操作是删除并返回栈顶元素。如果栈为空,则不能执行弹栈操作,否则返回`array[--s->top]`。 ```c int...

    C语言栈的实现及头文件

    printf("Stack Overflow\n"); return; } stack->array[++stack->top] = item; } ElementType pop(Stack* stack) { if (isEmpty(stack)) { printf("Stack Underflow\n"); return NULL; } return stack->...

    stackoverflow-jobs:stackoverflow作业供稿

    3. **数据库管理**:掌握MySQL或其他关系型数据库的使用,包括查询语言SQL,以及事务处理、索引优化和数据库设计原则。 4. **Web服务器**:熟悉Apache或Nginx等Web服务器的配置和管理,理解如何部署PHP应用。 5. **...

    一个简单的的stack

    cout << "Stack overflow!" ; } } int pop() { if (top >= 0) { int poppedValue = arr[top]; top--; return poppedValue; } else { cout << "Stack underflow!" ; return -1; // 或者抛出异常 } } ...

    学习iOS应用开发和用户界面设计的10个网站.docx

    6) **Stack Overflow iOS**:Stack Overflow是一个程序员问答社区,对于iOS开发中的问题,你总能找到解决方案或讨论。它也是学习如何解决问题和最佳实践的好地方。 7) **iPhone Dev**:这个网站提供了关于iOS开发的...

    栈的基本操作算法实现(C语言)

    printf("Stack Overflow! Cannot push more elements.\n"); return; } stack->array[++stack->top] = value; } ``` 这里我们检查`top`是否等于`capacity - 1`,如果是,则表示栈已满,不能进行压栈操作。 栈的...

    stack-over-flow-clone:StackOverFlow但具有精美的UI

    5. **UI/UX设计**:项目的重点在于提供精美的UI,因此,UI/UX设计原则是关键。设计师可能使用Sketch、Figma或Adobe XD等工具进行原型设计,关注色彩搭配、布局、图标设计以及交互元素,以提高用户满意度和易用性。 ...

    结构设计新手的七种学习方法.doc

    6. **讨论与交流**:加入技术社区,如Stack Overflow、CSDN等,参与讨论,提出问题,分享自己的见解。与同行交流,可以碰撞出新的思想火花,提升自己的设计水平。 7. **持续学习与反馈**:技术发展迅速,持续学习新...

    计算机程序艺术设计电子书

    3. **社区交流**:加入GitHub、Stack Overflow等开发者社区,在这里可以找到大量实用的代码示例和解决编程问题的方法。 4. **实战项目**:通过实际动手制作一些小项目来提升自己的实践能力是非常重要的。 #### 五、...

    软件工程课程设计必备指导书.doc

    5. 开源社区:GitHub、Stack Overflow等,获取代码示例和解决方案 附录A的软件工程课程设计报告格式将包括项目介绍、背景、目标、方法、实现细节、结果分析和总结等内容,是评价学生课程设计的重要依据。通过这份...

    栈的操作

    printf("Stack Overflow\n"); return; } stack->elements[++stack->top] = item; } // 弹栈操作 int pop(Stack* stack) { if (isEmpty(stack)) { printf("Stack Underflow\n"); return INT_MIN; } return ...

    设计模式可复用面向对象软件的基础

    这部分包括了设计原则、类图示例以及可能的代码实现等。 4. **效果分析**:讨论模式的应用效果,包括优点、缺点以及适用范围。这有助于开发者根据实际情况选择最合适的设计模式。 #### 四、设计模式的类型 本书中...

    软件技术基础-栈结构(与“队列”有关文档共38张).pptx

    if(stack->top == MAXNUM - 1) error("Stack Overflow"); stack->data[++stack->top] = new_one; } elemtype pop(stack_type *stack){ if(stack->top ) error("Stack Underflow"); elemtype out = stack->data...

    探索《Android手机程序设计》教学中的CDIO教学模式.pdf

    教师可以提供一些案例分析,帮助学生理解和掌握设计原则。 接着,进入实现阶段。学生利用Java编程语言和Android SDK进行应用程序的编写,实现设计蓝图。在此过程中,教师应注重培养学生的编程规范和调试技巧,同时...

    GUI 软件工程 界面制作工具

    10. **学习资源与社区**:为了提高GUI设计技能,可以参考在线教程、视频课程、设计博客以及设计师社区,如Dribbble、Behance和Stack Overflow,获取灵感和解决问题。 总之,GUI软件工程界面制作工具是实现高效、...

    C语言智能化辅助学习系统的设计.pdf

    - 理解用户交互界面的设计原则,包括易用性、可用性和可访问性; - 掌握数据库技术,如SQL,用于存储和检索学习数据; - 学习网络通信,包括HTTP、Web服务、RESTful API等,使得学习系统能够支持远程访问。 5. ...

Global site tag (gtag.js) - Google Analytics