Skip to content

Instantly share code, notes, and snippets.

View eeree's full-sized avatar

Kamil Szymanski eeree

  • Koszalin, Poland
View GitHub Profile
@eeree
eeree / osxfuse.sh
Created June 19, 2017 13:28
Release osxfuse
#!/bin/bash
function status() {
kextstat | grep org.virtualbox.kext > /dev/null 2>&1 ;
vbox=$((1-$?))
kextstat | grep com.github.osxfuse > /dev/null 2>&1 ;
fuse=$((1-$?))
}
status
@eeree
eeree / src\main\resources\rulesets\cleancode.xml
Created June 19, 2017 11:29
src/main/resources/rulesets/cleancode.xml
<rule name="ErrorControlOperator"
message="Remove error control operator '@' on line {0}."
class="PHPMD\Rule\CleanCode\ErrorControlOperator"
externalInfoUrl="http://phpmd.org/rules/cleancode.html#errorcontroloperator">
<description>
<![CDATA[
Error suppression should be avoided if possible as it doesn't just suppress the error, that you
are trying to stop, but will also suppress errors that you didn't predict would ever occur.
Moreover it slows down execution of your code by average of 1.75x. Consider changing
error_reporting() level and/or setting up your own error handler.
@eeree
eeree / src\main\php\PHPMD\Rule\CleanCode\ErrorControlOperator.php
Last active June 20, 2017 10:02
src\main\php\PHPMD\Rule\CleanCode\ErrorControlOperator.php #3
<?php
// ...
class ErrorControlOperator extends AbstractRule implements MethodAware, FunctionAware
{
// ...
}
@eeree
eeree / src\test\resources\files\Rule\CleanCode\ErrorControlOperator\ testAppliedToClassesAndMethods.php
Created June 19, 2017 11:26
src\test\resources\files\Rule\CleanCode\ErrorControlOperator\ testAppliedToClassesAndMethods.php
<?php
class testAppliedToClassesAndMethods
{
private $baz = 'baz';
public function testAppliedToClassesAndMethods()
{
$foo = @$this->fooBar();
++$foo;
@eeree
eeree / src\main\php\PHPMD\Rule\CleanCode\ErrorControlOperator.php
Last active June 19, 2017 11:27
src\main\php\PHPMD\Rule\CleanCode\ErrorControlOperator.php #2
<?php
public function apply(AbstractNode $node)
{
foreach ($node->findChildrenOfType('UnaryExpression') as $unaryExpression) {
if ($unaryExpression->getImage() === '@') {
$this->addViolation($node, array($unaryExpression->getBeginLine()));
}
}
}
@eeree
eeree / src\test\php\PHPMD\Rule\CleanCode\ErrorControlOperatorTest.php
Created June 19, 2017 11:23
src\test\php\PHPMD\Rule\CleanCode\ErrorControlOperatorTest.php #3
<?php
namespace PHPMD\Rule\CleanCode;
use PHPMD\AbstractTest;
class ErrorControlOperatorTest extends AbstractTest
{
public function testDoesNotApplyToOtherUnaryOperatorsInFunction()
{
$rule = new ErrorControlOperator();
$rule->setReport($this->getReportMock(1));
@eeree
eeree / src\test\resources\files\Rule\CleanCode\ErrorControlOperator\testDoesNotApplyToOtherUnaryOperatorsInFunction.php
Last active June 20, 2017 09:21
src\test\resources\files\Rule\CleanCode\ErrorControlOperator\testDoesNotApplyToOtherUnaryOperatorsInFunction.php
<?php
function testDoesNotApplyToOtherUnaryOperatorsInFunction()
{
@$foo = is_dir(__DIR__);
$bar = !$foo;
++$bar;
$baz = ++$bar;
return !--$baz;
@eeree
eeree / src\main\php\PHPMD\Rule\CleanCode\ErrorControlOperator.php
Created June 19, 2017 11:20
src/main/php/PHPMD/Rule/CleanCode/ErrorControlOperator.php #2
<?php
public function apply(AbstractNode $node)
{
foreach ($node->findChildrenOfType('UnaryExpression') as $unaryExpression) {
$this->addViolation($node, array($unaryExpression->getBeginLine()));
}
}
@eeree
eeree / src\test\php\PHPMD\Rule\CleanCode\ErrorControlOperatorTest.php
Last active June 19, 2017 11:18
src/test/php/PHPMD/Rule/CleanCode/ErrorControlOperatorTest.php #2
<?php
namespace PHPMD\Rule\CleanCode;
use PHPMD\AbstractTest;
class ErrorControlOperatorTest extends AbstractTest
{
// ...
public function testAppliesToErrorControlOperatorInFunction()
{
@eeree
eeree / src\test\resources\files\Rule\CleanCode\ErrorControlOperator\testAppliesToErrorControlOperatorInFunction.php
Last active June 20, 2017 09:25
src/test/resources/files/Rule/CleanCode/ErrorControlOperator/testAppliesToErrorControlOperatorInFunction.php
<?php
function testAppliesToErrorControlOperatorInFunction()
{
$foo = @debug_backtrace();
$bar = @is_dir(__FILE__);
@$average = 3 / 0;
return [$foo, $bar, $average];
}