|
fletcher posted:What's a good way of identifying 3rd party Java dependencies that are no longer actively maintained? I go to the source (e.g. GitHub or GitLab) if it's a public project. It'd be nice to know if there's a better way, though!
|
# ? Apr 3, 2024 22:26 |
|
|
# ? May 4, 2024 17:19 |
hooah posted:I go to the source (e.g. GitHub or GitLab) if it's a public project. It'd be nice to know if there's a better way, though! Yup, same here. The release dates are on maven central as well (if the dependency is there, of course). But with dozens of projects and hundreds of dependencies, a big manual tedious recurring effort is tough to deal with. It would come up in a security scan if there's a CVE, but of course at that point you are scrambling to rip out a library in a very short amount of time...
|
|
# ? Apr 3, 2024 22:31 |
|
Do you have dozens of projects that each have different versions of the same dozen dependencies, or do you actually have hundreds of differents deps, i.e. each of the dozen projects does a wildly different thing from the other and therefore doesn't need the same deps? Or are you talking about transitive deps, i.e. the dependencies of your dependencies? I think that if you want it automated (which you should because you should be able to do this check in regular interval), you want to measure some kind of proxy related to activity and try to reason about frequency and recency. How many commits, how many released versions how many responses to github issues, how many mailing list posts by the maintainer... have been made in the last year relative to last year. Ofc some of these are gonna be easier to measure than others. Though I think that there's a few catches. Generally one would expect better and more mature libs to require less maintenance work. Though perhaps there's maintenance work that has to happen regardless, like making use of new language features and whatnot.
|
# ? Apr 6, 2024 18:03 |
|
I can't seem to wrap my head around how I am meant to solve this issue, I think I am coming from the wrong angle. If I have an class object that contains 3 values, for example Student() and it holds firstName, lastName, studentId. I have then created an array of Student[] objects, so now i am holding something like code:
The other way I was thinking was to make a method that returned the values explicitly as array, for example, Student.getArrayValues() and I guess create a new 2d array list on the fly and then manually sort that through a loop and print the results but it feels like I'm doubling up my work for nothing and there should be a simpler method. Any help would be appreciated
|
# ? Apr 9, 2024 10:39 |
|
imnotinsane posted:I can't seem to wrap my head around how I am meant to solve this issue, I think I am coming from the wrong angle. Maybe this will help you: https://www.baeldung.com/java-8-comparator-comparing. By using the Arrays.sort(...) method you can give it a lambda function telling it how to compare the objects. This allows you to compare by one (or more) chosen fields (e.g. in your case student id).
|
# ? Apr 9, 2024 11:09 |
|
ivantod posted:Maybe this will help you: https://www.baeldung.com/java-8-comparator-comparing. Ahh that is exactly what I was looking for, thanks
|
# ? Apr 9, 2024 11:22 |
CmdrRiker posted:I am very sorry, but what you are describing is a horrible nightmare of programming that I would never wish on another developer. I told my boss that a mid level engineer cannot be expected to fix this, so they promoted me So now I'll be taking your approach, I think I can leave the current integration in place and build net new.
|
|
# ? Apr 29, 2024 23:43 |
|
Submarine Sandpaper posted:I told my boss that a mid level engineer cannot be expected to fix this, so they promoted me truly the most good news/bad news thing ive ever read in this thread
|
# ? Apr 29, 2024 23:54 |
|
As always I must caution that rewriting isn’t necessarily fixing old bugs so much as it is trading them for new ones.
|
# ? Apr 30, 2024 00:03 |
|
|
# ? May 4, 2024 17:19 |
I hope those bugs will at least be my friend vs guessing which near identical method is actually used vs copypasta from documentation or a different client.
|
|
# ? Apr 30, 2024 00:14 |