principles

What's the rationale behind headers?

馋奶兔 提交于 2019-11-29 13:54:42
I don't quite understand the point of having a header; it seems to violate the DRY principle! All the information in a header is (can be) contained in the implementation. Steve Rowe It simplifies the compilation process. When you want to compile units independently, you need something to describe the parts that will be linked to without having to import the entirety of all the other files. It also allows for code hiding. One can distribute a header to allow others to use the functionality without having to distribute the implementation. Finally, it can encourage the separation of interface

OO Software Design Principles

邮差的信 提交于 2019-11-28 17:16:27
问题 I am a huge fan of software design principles such as SOLID and DRY . What other principles exist for OO software design? Note. I’m not looking for answers like "comment your code" but instead looking for OO design principles like the ones discussed by Uncle Bob. 回答1: A fairly comprehensive list from Wikipedia: http://en.wikipedia.org/wiki/List_of_software_development_philosophies Agile software development Agile Unified Process (AUP) Behavior Driven Development (BDD) Big Design Up Front

Design Principles, Best Practices and Design Patterns for C (or Procedural Programming in general)? [closed]

故事扮演 提交于 2019-11-28 14:57:19
Are there any known design principles, best-practices and design patterns that one can follow while designing a C project? Or useful design principles for procedural (imperative) programming in general? (I'm child of the 'object-oriented generation' and have to design a large C project for the first time) Information hiding - as espoused by Parnas ( Software Fundamentals ). Careful management of headers and visibility: Everything in a source file that can be hidden from the outside world should be; only the documented external interface should be exposed. Everything that is exposed is declared

What's the rationale behind headers?

一笑奈何 提交于 2019-11-28 07:43:42
问题 I don't quite understand the point of having a header; it seems to violate the DRY principle! All the information in a header is (can be) contained in the implementation. 回答1: It simplifies the compilation process. When you want to compile units independently, you need something to describe the parts that will be linked to without having to import the entirety of all the other files. It also allows for code hiding. One can distribute a header to allow others to use the functionality without

What exactly is hadoop namenode formatting?

五迷三道 提交于 2019-11-28 07:13:06
What exactly is involved in namenode formatting. If I type in the following command into my terminal within my hadoop installation folder: bin/hadoop namenode -format What exactly does it accomplish? I am looking to understand principles of namenode formatting & its significance. Thanks... Hadoop NameNode is the centralized place of an HDFS file system which keeps the directory tree of all files in the file system, and tracks where across the cluster the file data is kept. In short, it keeps the metadata related to datanodes. When we format namenode it formats the meta-data related to data

Best Practices & Principles for GUI design [closed]

我与影子孤独终老i 提交于 2019-11-27 16:36:18
What is your best practical user-friendly user-interface design or principle? Please submit those practices that you find actually makes things really useful - no matter what - if it works for your users, share it! Summary/Collation Principles KISS. Be clear and specific in what an option will achieve: for example, use verbs that indicate the action that will follow on a choice (see: Impl. 1). Use obvious default actions appropriate to what the user needs/wants to achieve. Fit the appearance and behavior of the UI to the environment/process/audience: stand-alone application, web-page, portable

Design Principles, Best Practices and Design Patterns for C (or Procedural Programming in general)? [closed]

房东的猫 提交于 2019-11-27 09:09:02
问题 Are there any known design principles, best-practices and design patterns that one can follow while designing a C project? Or useful design principles for procedural (imperative) programming in general? (I'm child of the 'object-oriented generation' and have to design a large C project for the first time) 回答1: Information hiding - as espoused by Parnas (Software Fundamentals). Careful management of headers and visibility: Everything in a source file that can be hidden from the outside world

What exactly is hadoop namenode formatting?

☆樱花仙子☆ 提交于 2019-11-27 01:46:23
问题 What exactly is involved in namenode formatting. If I type in the following command into my terminal within my hadoop installation folder: bin/hadoop namenode -format What exactly does it accomplish? I am looking to understand principles of namenode formatting & its significance. Thanks... 回答1: Hadoop NameNode is the centralized place of an HDFS file system which keeps the directory tree of all files in the file system, and tracks where across the cluster the file data is kept. In short, it

What is the dependency inversion principle and why is it important?

雨燕双飞 提交于 2019-11-26 23:15:04
What is the dependency inversion principle and why is it important? Carl Seleborg Check this document out: The Dependency Inversion Principle . It basically says: High level modules should not depend upon low-level modules. Both should depend upon abstractions. Abstractions should never depend upon details. Details should depend upon abstractions. As to why it is important, in short: changes are risky, and by depending on a concept instead of on an implementation, you reduce the need for change at call sites. Effectively, the DIP reduces coupling between different pieces of code. The idea is

Best Practices & Principles for GUI design [closed]

末鹿安然 提交于 2019-11-26 18:46:04
问题 What is your best practical user-friendly user-interface design or principle? Please submit those practices that you find actually makes things really useful - no matter what - if it works for your users, share it! Summary/Collation Principles KISS. Be clear and specific in what an option will achieve: for example, use verbs that indicate the action that will follow on a choice (see: Impl. 1). Use obvious default actions appropriate to what the user needs/wants to achieve. Fit the appearance