5 ms·
In my work history, I've never come across code like this, especially "effortless to follow". All the codebases I've worked with have been head scratch causing
by theonething 5y ago
In my work history, I've never come across code like this, especially "effortless to follow". All the codebases I've worked with have been head scratch causing balls of mud.
Am I unlucky or is what you are describing the rare exception?
- EduardoBautista 5y agoMost large software projects have some bad code in it. If it’s all bad, then there is probably an architectural problem, poor code review practices, and/or corners are being cut to meet deadlines.
- RangerScience 5y agoBoth. Head-scratching balls of mud is, IMO, below average; but that lofty height of code described is an extreme rarity. 100% recommend having your own hobby project so you can reach it.
- bryanrasmussen 5y ago>but that lofty height of code described is an extreme rarity. I would say lofty height only possible in following conditions: A model of reality / problem domain that the company has created themselves that does not have to integrate with any other company, or have to follow any laws or regulations. For example let us suppose you create a company for users to send messages to each other using your app. You can totally control everything in your environment - just your app, your definition of users, you definition of messages. But once you need to connect your app to other apps doing similar things but differently than your model you are going to hit edge cases, and if you have to think about making your app work on multiple environments and there are problems as there generally are you will start to be less lofty, and then after you have been going a while you try to enter a market with regulations, or regulation is handed down affecting your app. Things are getting less lofty quickly at that point. on edit: grammar
- antris 5y agoThere definitely are codebases that are easy to follow. But it requires a team that is committed to aggressively refactoring even the smallest of code smells, usually before even committing it. It also requires a team that is dedicated to its professionalism and not bend into a manager's will of refactoring being a time waste. But when your team is committed to code quality, holy hell is it satisfying, easy and fast to work with. It really is like night and day. If you have not experienced the difference - I'm sorry to say - then you've just not worked with a high-quality team.
- xwolfi 5y agoSame even for code base my only job was to cleanup, it would be clean 1 week then split back into mess, sometimes by my own doing. The problem is always the same: there is money for result and result is time-sensitive, no money for form and form takes time. If I have to sacrifice a bit of form to reach a result on time, I'm afraid I'll do it rather than fire a colleague because we can't pay him and do beautiful code :s
- ahmaman 5y agoTo be honest, only around 10-15% of the time. Often they were small dev teams in a small company that have high standards and given the trust & freedom to do things. I think it boils down to how much the programmer actually cares and is given the necessary time to do a good job. P.S: Been programming only for 6-7 years so can't say if my experience is any indicator.
- bluetomcat 5y agoMost corporate codebases I've encountered are, to put it mildly, unpleasant. In most cases, you've got dozens of people with varying skill and style maintaining the stuff over a decade or more. New business requirements are patched on top, without ever considering the whole architecture. The cleanest codebases are those where the project has a focused goal and is maintained by a few developers with a low churn rate.
- acuozzo 5y agoFWIW, the following is the best code I've come across in my career. https://github.com/bilibili/vlc/blob/master/modules/video_filter/deinterlace/algo_ivtc.h https://github.com/bilibili/vlc/blob/master/modules/video_fi... https://github.com/bilibili/vlc/blob/master/modules/video_filter/deinterlace/algo_ivtc.c https://github.com/bilibili/vlc/blob/master/modules/video_fi...