Skip to content

Instantly share code, notes, and snippets.

View dfucci's full-sized avatar

Davide Fucci dfucci

View GitHub Profile
@dfucci
dfucci / LSP.java
Created April 26, 2017 10:28
Liskov substitution principle
//Bad example
class Rectangle {
private int m_width;
private int m_height;
public void setWidth(int width){m_width = width;}
public void setHeight(int height){m_height = height;}
public int getWidth(){return m_width;}
public int getHeight(){return m_height;}
public int getArea(){return m_width * m_height;}
}
@dfucci
dfucci / OCP.java
Created April 26, 2017 10:27
Open-closed principle
// Bad example
class GraphicEditor {
public void drawShape(Shape s) {
if (s.m_type==1) drawRectangle(s);
else if (s.m_type==2) drawCircle(s);
}
public void drawCircle(Circle r) {....}
public void drawRectangle(Rectangle r) {....}
}
@dfucci
dfucci / SIP.java
Last active April 26, 2017 10:25
Single responsibility principle
// Bad example
interface IEmail {
public void setSender(String sender);
public void setReceiver(String receiver);
public void setContent(String content);
}
class Email implements IEmail {
public void setSender(String sender) {// set sender; }
public void setReceiver(String receiver) {// set receiver; }
public void setContent(String content) {// set content; }
@dfucci
dfucci / brew.sh
Created March 15, 2017 10:40 — forked from anonymous/brew.sh
#!/usr/bin/env bash
# Install command-line tools using Homebrew.
# Make sure we’re using the latest Homebrew.
brew update
# Upgrade any already-installed formulae.
brew upgrade --all
package org.jacoco.examples;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.Map;
import org.jacoco.core.analysis.Analyzer;
import org.jacoco.core.analysis.CoverageBuilder;
import org.jacoco.core.analysis.IClassCoverage;
@dfucci
dfucci / data.csv
Created March 31, 2016 18:11
TDD visualization using grouped barchart
Period test-first test-addition refactoring regression production test-last
Period 1 2 4 2 3 1 8
Period 2 2 6 3 3 7 8
Period 3 6 6 4 5 8 8
Period 4 9 9 4 8 8 8
Period 5 9 9 7 8 10 10
Period 6 9 9 12 8 10 10
@dfucci
dfucci / bar-data.csv
Last active March 31, 2016 12:15
Barcharts for group of IDE events
seq event n
1 test-first 5
1 test-last 3
1 test-addition 3
1 refactoring 2
1 regression 2
2 test-last 7
2 test-first 5
3 test-last 7
3 test-first 7
# ~/.tmuxinator/rails-dev.yml
name: rails-dev
root: ~/Projects/galileo
# Optional tmux socket
# socket_name: foo
# Runs before everything. Use it to start daemons etc.
# pre: sudo /etc/rc.d/mysqld start
DEBUG=True
CSRF_COOKIE_SECURE=False
SESSION_COOKIE_SECURE=False
SECRET_KEY=s3cr3t
DATABASE_URL=sqlite:////tmp/db.sqlite3
ALLOWED_HOSTS=*
EMAIL_BACKEND=django.core.mail.backends.filebased.EmailBackend
EMAIL_HOST=email_host
EMAIL_PORT=587
EMAIL_HOST_USER=host_user
###########################
# Configuration
###########################
# use 256 term for pretty colors
set -g default-terminal "screen-256color"
# increase scroll-back history
set -g history-limit 5000