7 ms·
If someone completely new to my codebase came along and tried to evaluate my code I'd laugh. You can't jump in and "evaluate" without knowing context and being
by lohii 4y ago
If someone completely new to my codebase came along and tried to evaluate my code I'd laugh. You can't jump in and "evaluate" without knowing context and being familiar with the features.
- thepasswordis 4y agoDo you not think you could sit down with somebody and explain it?
- bagels 4y agoI'd argue you've done a bad job if a new person reading the code can't follow it.
- Aeolun 4y agoNew people regularly join our company and evaluate our code. Why do you think you couldn’t do that without joining?
- SketchySeaBeast 4y agoHow long does it take them to be fully productive in the systems?
- Aeolun 4y agoAbout 6 months. That doesn’t mean they don’t instantly have a general idea of the quality of the codebase. The amount of WTF’s decreases significantly after the first 2 months (when they give up and accept that that is just how it is).
- closeparen 4y agoNew people regularly join our company and take a few weeks to become productive at making small changes to one or two modules out of 5,000+ in the enterprise.
- alchemist1e9 4y agoWhat’s more funny is how people commonly believe like this their code is so special or different than everyone else’s. Reverse engineering a large code base is not anywhere as hard as most software engineers somehow believe. I was tasked with analyzing a large code base from a company that my employer had been an investor in and as part of their investment had been given IP rights, the company employees were floored when our team, lead by me had ripped apart their system into multiple components and reused them in way they hadn’t. Trust me if one is experienced enough they can understand your code perfectly fine, it’s definitely not as special as you think it is.
- wiseowise 4y ago
- 8192kjshad09- 4y agoReally interesting story, approximately how many lines of code were in that codebase? It's hard for me to imagine someone grokking a 10M+ line codebase without external help, but I've never tried it. I do agree with the assertion that most codebases are not as _special_ as they like to think.
- alchemist1e9 4y agoThis was just over 600k of mostly c++ code. It’s certainly true that it helped I was familiar with the domain and the various technologies they had used, like CORBA and xml, this was late 90s. 10M is a pretty massive codebase like the entire linux kernel with all drivers is somewhere in that size. Most corporate systems aren’t that big and even for Linux you wouldn’t need to understand all drivers to understand the core kernel, I suspect the core kernel is maybe max 1M.
- nogzio 4y agoFor reference, Facebook's android Messenger app is about 10M lines of code: https://engineering.fb.com/2022/10/24/android/android-java-kotlin-migration/ https://engineering.fb.com/2022/10/24/android/android-java-k...
- ordu 4y agoI don't think Elon is trying to evaluate the code. It seems to me he is trying to evaluate people.
- throw_m239339 4y ago> You can't jump in and "evaluate" without knowing context and being familiar with the features. Yes you can, it's called an audit and there is nothing wrong with that. The company you work for should have regular security audits for instance, ideally done by a third party rather than internally to eliminate bias. This isn't a "code review".
- friend_and_foe 4y agoI don't think the goal here is code review. They're trying to gauge a few things: 1) are you competent? 2) are you coasting or genuinely contributing? 3) are you actually dedicated to improving the product or more concerned with office politics and inserting your ideology? A quick interview and a little demonstration of contribution can help assess these things significantly, you don't have to understand the codebase that much to do it.
- xiphias2 4y agoOf course I first read the documentation to understand a code base, but then just usually jump in to the part that I’m interested in. If it’s not spaghetti code base, it’s not that hard to do that.
- aiperson 4y agoEh, if you're competent, then sure. But some people have obvious code smells. You'd be surprised. A quick glance and it's obvious they're not competent. 6 layers of inheritance. Composition loops everywhere (A is in B, B is in A, A and B are in C, C are in A and b).
- akomtu 4y agoIn this case, it would be your new boss asking to make a short presentation of your work, and he has trusted software devs who can smell bs a mile away.
- thrwyoilarticle 4y agoYes you absolutely can. If there are obvious mistakes that would be caught by linting or review, you can know that the standard isn't high.