Hello again, I’m in a situation where the one the senior devs on my team just isn’t following best practices we laid out in our internal documentation, nor the generally agreed best practices for react; his code works mind you, but as a a team working on a client piece I’m not super comfortable with something so fragile being passed to the client.

He also doesn’t like unit testing and only includes minimal smoke tests, often times he writes his components in ways that will break existing unit tests (there is a caveat that one of the components which is breaking is super fragile; he also led the creation of that one.) But then leaves me to fix it during PR approval.

It’s weird because I literally went through most of the same training in company with him on best practices and TDD, but he just seems to ignore it.

I’m not super comfortable approving his work, but its functional and I don’t want to hold up sprints,but I’m keenly aware that it could make things really messy whenbwe leave and the client begins to handle it on their own.

What are y’alls thoughts on this, is this sort of thing common?

  • undefined
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    the pointless and poorly named kind.

    Here’s one example of many:

    class Group extends StatelessWidget {
      final CrossAxisAlignment crossAxisAlignment;
      final List children;
    
      const Group({
        super.key,
        this.crossAxisAlignment = CrossAxisAlignment.stretch,
        required this.children,
      });
    
      @override
      Widget build(BuildContext context) => Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: crossAxisAlignment,
            children: children,
          );
    }
    

    For those unfamiliar with Flutter, Column is your go-to out of the box widget that’s already flexible and simple enough to implement and customize. Group exists purely to set a cross axis alignment value, and by name provides no indication as to what it does or how it lays out its children.

    All that just to save one line to override the default cross axis alignment…