Skip to content

Instantly share code, notes, and snippets.

@MacDada
MacDada / git_sync.sh
Created March 30, 2023 14:52
Synchronizes current branch with remote's master
#!/bin/bash
##
# Synchronizes current branch with remote's master.
#
# `./git_sync.sh` – updates current branch with changes from remote/master
# `./git_sync.sh push` – updates remote/master with changes from current branch
##
count_stashes () {
# `wc` generates a value with whitespace
void setupRouting() {
registerRoute("/api/furnace", HTTP_GET, [&] (Request& request) {
furnaceController.apiGetAction(request);
});
/* and many more like this one */
}
// OPTION A: copy callback to function + move to lambda
void registerRoute(
const char* const uri,
#include <iostream>
using namespace std;
class Bar {
public:
Bar(int a, int b): a(a), b(b) {};
// a is mutable property, b isn't – by the contract of object's public interface
void setA(int _a) { a = _a; }
@MacDada
MacDada / ShowBlogPostsController.php
Last active April 9, 2022 21:38
PHP: Use Case architecture example
<?php
class ShowBlogPostsController
{
/**
* @param ShowBlogPostUseCase
**/
private $useCase;
/**
<?php
// https://www.wykop.pl/wpis/39614135/mirki-chce-przekierowanie-na-wp-jesli-httpacceptla/
// 1. Zawsze porównuj z `===` - w bardzo wyjątkowych przypadkach `==` jest słuszne. Doczytaj sobie w dokumentacji dlaczego.
// 2. Spójność napisów - masz raz tak, raz inaczej, bez reguły. Najlepiej zawsze używaj apostrofów do napisów (`'`), chyba że faktycznie chcesz interpolować zmienne lub mieć znaki nowej linii, itp. (wtedy cudzysłowy `"`).
// 3. Jak kolega wyżej słusznie zauważył, `$_SERVER['HTTP_ACCEPT_LANGUAGE']` może nie istnieć. Powinieneś sprawdzać najpierw czy w ogóle jest wartość (np `isset`em) i uwzględnić ten przypadek.
// 4. Zmienne `$url` są Ci zbędne - wsadzaj wartość bezpośrednio do `wp_redirect`.
// 5. Jak już jesteś na głównej z PL, to przekierowanie zbędne.
// 6. Weź pod uwagę, że klient może przesłać język wielkimi literami.
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="MyProject">
<description>PSR-2 plus extras</description>
<rule ref="PSR2" />
<!-- Verifies that class members have scope modifiers. -->
<rule ref="Squiz.Scope.MethodScope" />
<!-- Discourages the use of deprecated functions that are kept in PHP
<?php
/**
* Simpler version of
* https://github.com/dddinphp/repository-examples/blob/master/src/Infrastructure/Persistence/Doctrine/DoctrinePostRepository.php#L64
*
* Thanks to using inheritance.
*/
namespace Infrastructure\Persistence\Doctrine;
<?php
// singleton
class FooApiClient
{
private function __construct();
public static function getInstance(): FooApiClient;
public function getBar(): Bar;
<?php
// spoko, wiemy co należy przekazać
// ale kiepsko, bo dużo argumentów
function foo($bar1, $bar2, $bar3, $bar4, $bar5) {
}
// kiepsko, bo nie wiemy co dany parametr oznacza
foo('abc', 'def', 'ghj', 'klm', 'zxc');
@MacDada
MacDada / FavoriteRepository.php
Created December 12, 2016 11:00
What is that for?
<?php
use Doctrine\ORM\EntityRepository;
class FooRepository extends EntityRepository
{
public function save(Foo $foo)
{
$em = $this->getEntityManager();
$uof = $em->getUnitOfWork();