phanalist
RVS_ParseXMLDuration
phanalist | RVS_ParseXMLDuration | |
---|---|---|
5 | 2 | |
108 | 1 | |
- | - | |
9.3 | 1.9 | |
14 days ago | almost 2 years ago | |
Rust | Swift | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
phanalist
-
Traversing an AST of PHP source code.
Phanalist needs a way to detect when we are in the function's scope with the name tooComplex(). With pattern matching, it is super easy to detect if the statement is either: if,else,etc.. The first statement that I want to match for is class Index{ and from there, we will continue down the tree. If you think the same way as I do you know that I will be using recursion to calculate the cyclomatic complexity. After we have matched the scope of the tooComplex() function.
-
How I made it impossible to write spaghetti code.
In the following paragraph, we will see how phanalist can calculate the cyclomatic complexity of the scope of a method. Before creating Phanalist, I always kept the cyclomatic complexity of the methods I wrote in my mind. And if I see that the complexity is higher than 10. I always try to refactor the method, making it easier to understand.
-
Ask HN: Show me your half baked project
https://github.com/denzyldick/phanalist
I'm trying to write a static analyzer for PHP. It's written in RUST and it's a personal project of mine to learn rust and also make a FAST static analyzer for PHP projects that are big. I started with this project because the current static analyzers in the PHP ecosystem are slow.
It would be nice if there were people that would like to contribute. If you want to learn rust and you have PHP experience you are welcome to help.
- Ask HN: What's your most starred repo?
- A new PHP static analyser(Phanalist)
RVS_ParseXMLDuration
-
Ask HN: Show me your half baked project
Well, these ones aren't "half-baked," but they are no longer being maintained (archived):
[0] https://github.com/RiftValleySoftware/RVS_IPAddress
[1] https://github.com/RiftValleySoftware/RVS_ParseXMLDuration
[2] https://github.com/RiftValleySoftware/RVS_ONVIF
This project is unfinished (I just walked away from it, as it wasn't really giving me what I wanted):
[3] https://github.com/RiftValleySoftware/RVS_GTDriver
This one is "half-baked," I believe. I never really took it particularly far:
[4] https://github.com/RiftValleySoftware/RVS_MediaServer
-
Code Colocation Is King
Not completely. The way that it works for me, is that I start work on a project, and, while building, I notice that some code that I'm working on is:
1) Pretty complex, and fairly insular; and/or
2) Possibly useful, elsewhere.
If that's the case, I will then stop work on the main project, and take some time to extract and "genericize" the subproject. I'll usually set it up as a standalone open-source project; complete with tests and documentation.
This may happen before I have completed the coding in the main project, or may happen as the result of a review, after the fact.
In some cases, I very clearly need to develop a subproject before starting on the main project, or before certain milestones within that project (for example, SDKs or drivers). In that case, the timelines are completely separate.
If you look at my GH repos, you'll see a whole bunch of these projects, including some rather strange ones, like an XML duration parser[0]. These are the types of projects that I extract.
In some cases, I end up not using the extracted project in my main project (happens to some of my UI widgets). In that case, even though I am not using it, I still have an excellent project for the future. Here's an example[1]. I have ended up not using the spinner in my own work, as it was too obtrusive a widget, but it's nice to have it available for future projects.
[0] https://github.com/RiftValleySoftware/RVS_ParseXMLDuration
[1] https://github.com/RiftValleySoftware/RVS_Spinner
What are some alternatives?
ext-php-rs - Bindings for the Zend API to build PHP extensions natively in Rust.
laminarmq - A scalable, distributed message queue powered by a segmented, partitioned, replicated and immutable log.
php-malware-analysis - Deobfuscation and analysis of PHP malware captured by a WordPress honey pot
typocide - Where Typos Meet Their Demise!
ukey - Simple ukulele chord reference web app
prepareprojectforllmprompt - Transform your code project into a Markdown document optimized for interaction with Language Learning Models like GPT-4, complete with dynamic file selection and token management features.
speech - A tool to practice English speaking
quantraserver - Distributed QuantLib
resume - Resume for the Green Lamp project a.k.a Bablishko Na Aitishkux
agi-pack - A Dockerfile builder for Machine Learning developers
auth
muziko - Practice every song you know