Knowledge

Lava flow (programming)

Source 📝

222: 31:
written under sub-optimal conditions is deployed into a production environment and subsequently expanded upon while still in a developmental state. The term derives from the natural occurrence of lava which, once cooled, solidifies into rock that is difficult to remove. Similarly, such code becomes
65:
Unrefined code that becomes part of the software’s infrastructure increases the complexity of the system and the codebase becomes increasingly difficult to understand and maintain. It leads to:
32:
difficult to refactor or replace due to dependencies that arise over time, necessitating the maintenance of backward compatibility with the original, incomplete design.
263: 107:
Reluctance among new developers to refactor unfamiliar code, leading to further complexity as they add rather than clean up
163: 287: 256: 194: 237: 282: 249: 70: 17: 8: 229: 104:
Loss of knowledge about aspects of the system's code when original developers leave
73:
which can stifle innovation and prevent adoption of newer, more efficient solutions
233: 142: 80:
that accumulates over time, resulting in higher costs of change and maintenance
77: 276: 43:
can occur due to a variety of reasons within a software development process:
47:
Pressure to meet deadlines leading to temporary solutions becoming permanent
50:
Inadequate documentation which prevents understanding of the code’s purpose
171: 135: 128: 84: 28: 124:
Promoting good documentation practices for clear understanding of code
56:
Frequent changes in the development team leading to loss of knowledge
87:
or improving the system due to fear of breaking dependent components
221: 20: 53:
Lack of automated tests which makes refactoring risky
116:Several practices can mitigate the effects of the 96:Development teams often experience the impact of 274: 138:as an integral part of the development lifecycle 257: 27:is an anti-pattern that occurs when computer 192: 264: 250: 111: 275: 141:Maintaining a comprehensive suite of 216: 100:when team members cycle in and out: 131:to catch suboptimal practices early 13: 91: 14: 299: 193:Mike Hadlow (December 15, 2014). 220: 60: 186: 156: 1: 195:"The Lava Layer Anti-Pattern" 149: 236:. You can help Knowledge by 7: 10: 304: 215: 168:Perl Design Patterns Wiki 145:to reduce risk in changes 35: 288:Computer science stubs 71:backward compatibility 112:Mitigation Strategies 127:Encouraging regular 18:computer programming 245: 244: 174:on March 31, 2016 295: 266: 259: 252: 230:computer science 224: 217: 210: 209: 207: 205: 190: 184: 183: 181: 179: 170:. Archived from 160: 303: 302: 298: 297: 296: 294: 293: 292: 273: 272: 271: 270: 214: 213: 203: 201: 191: 187: 177: 175: 162: 161: 157: 152: 143:automated tests 114: 94: 92:Impact on Teams 63: 38: 12: 11: 5: 301: 291: 290: 285: 269: 268: 261: 254: 246: 243: 242: 225: 212: 211: 185: 154: 153: 151: 148: 147: 146: 139: 132: 125: 120:anti-pattern: 113: 110: 109: 108: 105: 93: 90: 89: 88: 81: 78:technical debt 74: 62: 59: 58: 57: 54: 51: 48: 37: 34: 9: 6: 4: 3: 2: 300: 289: 286: 284: 283:Anti-patterns 281: 280: 278: 267: 262: 260: 255: 253: 248: 247: 241: 239: 235: 232:article is a 231: 226: 223: 219: 218: 200: 196: 189: 173: 169: 165: 159: 155: 144: 140: 137: 134:Prioritizing 133: 130: 126: 123: 122: 121: 119: 106: 103: 102: 101: 99: 86: 83:Obstacles to 82: 79: 75: 72: 69:The need for 68: 67: 66: 55: 52: 49: 46: 45: 44: 42: 33: 30: 26: 22: 19: 238:expanding it 227: 202:. Retrieved 198: 188: 176:. Retrieved 172:the original 167: 158: 129:code reviews 117: 115: 97: 95: 64: 61:Consequences 40: 39: 24: 15: 178:February 4, 164:"Lava Flow" 136:refactoring 85:refactoring 29:source code 277:Categories 204:January 7, 150:References 76:Increased 199:Code rant 118:lava flow 98:lava flow 41:Lava flow 25:lava flow 36:Causes 21:jargon 228:This 234:stub 206:2016 180:2018 16:In 279:: 197:. 166:. 23:, 265:e 258:t 251:v 240:. 208:. 182:.

Index

computer programming
jargon
source code
backward compatibility
technical debt
refactoring
code reviews
refactoring
automated tests
"Lava Flow"
the original
"The Lava Layer Anti-Pattern"
Stub icon
computer science
stub
expanding it
v
t
e
Categories
Anti-patterns
Computer science stubs

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.