voluntas Depressed after only 6 months of in-house mega-venture JoanOfArc âThis code is already clean enough, so thereâs no need to refactor it (although you can add comments)."" It doesnât seem to get along with me refactoring all my life. Kumappus However, I donât think Iâll be able to get along with the person who wrote this note⊠Iâm afraid Iâll break their mentality if Iâm not a little more flexible in the middle⊠Iâm afraid Iâll break their mentality if Iâm not a more flexible person⊠voluntas Seriously, I wish I had started writing tests first. I guess I didnât know that testing and refactoring requires political power ⊠. voluntas and if you want to change something, get power. Since it is all about ⊠Kumappus Power or Trust. voluntas I think people often react harshly because even if there is trust, it is not directly related to profits. belpstw Personally, I remember reading this before. I can see both sides of the argument, but at the end of the day, itâs a stand-up fight. Donât fix the damn code. - Qiita
hrjn Iâve done endless refactoring discussions in my life, but I sometimes wish that conservatism extensibility would consider whether conservatism extensibility is really the issue. Iâm not sure how much utility I get from refactoring code that I will rarely tinker with. hrjn I think it would have been nice to have a proper discussion around this. hrjn It is easy to say that these people are not suitable for this kind of venture, but I think it is mostly due to the fact that they are not capable enough to discuss it properly. I donât think itâs a good idea to call them incompetent. hrjn Rather, they should reflect deeply on their own costs when the people they hire, whatever they are, donât work. Because weâre talking about failure to use money and human resources properly, thatâs it. That doesnât qualify you to hire or use people. hrjn If youâre at the member level, or if youâre at the management level, letâs say at the senior level, itâs pointless to say, âHeâs not suited for venture business. If thatâs the case, it should be âI regret that I and the organization failed to recognize that the person was not the right person for our company. Even then, you should be able to explain at least, âWe have budgeted for a certain level of retirement. hrjn In the end, senior managementâs job is to âensure that there are no problemsâ by taking into account all of these factors and comprehensively considering the companyâs hiring brand strength and salary competitiveness. I donât think itâs the job of the senior management to ensure that there are no problems, but rather to make sure that there are no problems by comprehensively considering the companyâs hiring brand and salary competitiveness.
yuiseki_ refactoring suddenly in a newly joined team, I want to play around and destroy software that I deeply donât know how to work right! Itâs like saying, âI donât know how to work properly! Itâs like saying âI want to play around and destroy software that I donât know how to work properly! yuiseki_ I feel that there is a major problem on the teamâs part in not showing one of the Good first issue to a new team member. The most recommended way to get around this is to try to understand the expected behavior of the software by touching it thoroughly, while looking for obvious bugs, summarizing and reporting the steps to reproduce them, and then fixing them so that they do not reproduce.
tadsan I try to learn an unfamiliar code base by refactoring it as much as I like and breaking it down to see why it doesnât work the way I want it to (I donât expect it to be merged). I try to learn an unfamiliar code base by refactoring and breaking it down as much as I like until Iâm comfortable with it, and then I try to figure out the distance between the ideal and the reality (I donât expect it to merge). tadsan Except for that kind of learning purpose, refactoring can end up being self-indulgent if you donât clarify the purpose of what you want to improve instead of just doing it out of the blue. There is a point.
@zick_minoh: âI donât understand the source code and I want to refactor itâ is a danger signal, and if someone who doesnât understand it well does it, itâs a bad idea. It wonât turn out well if someone who doesnât know better does it. It may reproduce the awfulness in a different direction. I hope you understand the source code well and can explain in detail which parts are particularly bad and what the benefits will be if you fix them.
wtnabe Talking about small fry engineers, it seems like a lot of people think âfirst refactoring is a bad ideaâ, but the situation where âit takes time to read what you are doingâ is definitely âthe I think itâs the bossâs negligence not to separate whether the jamming situation originates from the person himself or from the code. wtnabe It can be something like a dictionary or catalog without modifying the code. I think it is the responsibility of the organization and the bosses to leave the situation where there are elements in the product that worsen the development lead time. If you can call it a mega-venture, you can no longer rely on the memory of an individual. wtnabe Itâs a typical story of a good player and a good manager. Of course, there are some cases where two people are not a good fit for each other, but if it is a mega-venture, there should be some kind of effort on the part of the organization and human resources to discuss the aptitude of the people in this area. I think it is more common in small and medium-sized companies than in venture companies. wtnabe I guess my boss doesnât have a mentor or coach (I want one so badly). I think itâs possible that if youâre silenced by your arms, you canât separate and transfer this area well.
sugimoto_kei If I joined an existing project, I would first think about how I could contribute to the existing members. If I donât know anything at all, Iâll be a stipendiary or a chore person. Then I would increase the areas of contribution. If you are fixing code that others can read because you canât read it, itâs normal to be let down. sugimoto_kei That has nothing to do with whether the idea of a clean fix to existing code is good or bad, does it? sugimoto_kei I think âlearningâ is a bit off as well. Internal politics and trust building skills⊠View more sugimoto_kei I sympathize with the situation, but if we donât think a little more about how it would have looked from their point of view, I think weâre going to be repeating the same thing. I think it is likely to repeat itself. For example, when the senior said, âI donât have a sense of purpose,â what was the âpurposeâ? I think itâs obvious that itâs not this personâs purpose, but the teamâs purpose.
@kumagi: I donât understand the source code because I didnât know the context behind it and failed to build a mental model of the writer in my mind. The reason there is no understanding of refactoring is because we failed to take the step of gaining agreement on the changed structure. I came to quit because I mistakenly thought I was the reason things werenât going the way I wanted them to.
@tanakahisateru: Iâve often said that no matter how many experienced people you hire with good general skills, their ability to read business-specific circumstances from uncommented code is only as good as the newbie. I often say that itâs a waste of money to hire such a person with high general skills, but the ability to read the code without comments is only as good as a newcomer, so the cost of hiring such a person with the treatment as a good person is disappearing. It is a failure of organizational management to put an engineer in a superior position who is indifferent to this problem.
@yseeker0: You know too much, 90% of ML related OSS is like this. âHardly any comments are seen in the SQL or Python code.â No proper granular function cutouts.â No docstrings or type hints in the Python code.â @kiyuzu: this is a very common pattern for people who have walked the research field, around Fortran, R and Python. In most cases, the original paper or book is in README or git or another level, and it assumes youâve read it. I wonât write it because I donât think I could come up with it from the code if I hadnât read it backwards. If you ask, it will come up.
Polis for any thoughts that might be useful regarding the refactoring article. https://pol.is/86ku4bchrn
This page is auto-translated from /nishio/ăȘăăĄăŻăżăȘăłă° using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iâm very happy to spread my thought to non-Japanese readers.