康威定律

Search documents
每个程序员必知的13条魔鬼定律:90%代码终将沦为垃圾
3 6 Ke· 2025-04-29 07:11
Core Viewpoint - The article presents 13 engineering laws that provide insights for engineers and managers to navigate inefficiencies and manage complex projects effectively [1][3]. Group 1: Engineering Laws - Parkinson's Law states that work expands to fill the time available for its completion, often leading to procrastination [5][6]. - Hofstadter's Law indicates that projects will always take longer than expected, even when this law is taken into account [6][9]. - Brooks' Law asserts that adding manpower to a late software project makes it later, highlighting the inefficiency of increasing team size in such scenarios [10][11]. - Conway's Law suggests that the design of a system reflects the communication structure of the organization, impacting product architecture [13][15]. - Cunningham's Law posits that the best way to get the right answer on the internet is to post the wrong answer, emphasizing the importance of collaboration [16][18]. - Sturgeon's Law states that 90% of everything is garbage, implying that only a small fraction of features or code is truly valuable [20][21]. - Zawinski's Law suggests that all programs will expand until they can handle email, leading to feature bloat [21][24]. - Hyrum's Law indicates that once an API has many users, all observable behaviors will be relied upon by at least one user, complicating maintenance [24][25]. - Price's Law states that in any team, 50% of the output is produced by the square root of the total number of individuals, illustrating the uneven distribution of productivity [25][26]. - Ringelmann Effect reveals that individual efficiency decreases as team size increases, suggesting the need for smaller teams [27][29]. - Goodhart's Law warns that once a measure becomes a target, it ceases to be a good measure, indicating the potential for manipulation of KPIs [30][32]. - Gilb's Law states that anything that needs to be quantified will have a way to measure it, advocating for the importance of measurement [32][37]. - Murphy's Law asserts that anything that can go wrong will go wrong, emphasizing the need for thorough testing and validation [38][40]. Group 2: Importance of the Laws - These laws serve as valuable mental models for engineers and managers to avoid common pitfalls in project management and software development [41].