Source code and comments should generally not exceed 80 characters per line and rarely if ever exceed 100 characters per line, including indentation.
The character limit must be judged on a case by case basis. What really matters is the semantical “density” and readability of the line. Making l...
If a line approaches the maximum character limit, always consider breaking it down into multiple statements / expressions instead of wrapping the line.
Break before operators.
Break before the . in chained method calls.
popupMsg("Inbox notification: You have "
+ newMsgs + &...
Vertical Whitespace
A single blank line should be used to separate…
Package declaration
Class declarations
Constructors
Methods
Static initializers
Instance initializers
…and may be used to separate logical groups of
import statements
fields
statements
Multiple consec...
In this example, a function map named funcMap is supplied to the template via the Funcs() method and then invoked inside the template. Here, the function increment() is used to get around the lack of a less than or equal function in the templating language. Note in the output how the final item in t...
Note how field values are obtained using {{.FieldName}}.
package main
import (
"fmt"
"os"
"text/template"
)
type Person struct {
FirstName string
LastName string
Street string
City string
State string
Zip...
First, here's what can happen when text/template is used for HTML. Note Harry's FirstName property).
package main
import (
"fmt"
"html/template"
"os"
)
type Person struct {
FirstName string
LastName string
Street string
Cit...
context.lineWidth=lineWidth
Sets the width of the line that will stroke the outline of the path
<!doctype html>
<html>
<head>
<style>
body{ background-color:white; }
#canvas{border:1px solid red; }
</style>
<script>
window.onload=(function(){...
shadowColor = color // CSS color
shadowBlur = width // integer blur width
shadowOffsetX = distance // shadow is moved horizontally by this offset
shadowOffsetY = distance // shadow is moved vertically by this offset
This set of attributes will add a shadow around a path.
Bo...
import std.stdio;
T min(T)(in T arg1, in T arg2) {
return arg1 < arg2 ? arg1 : arg2;
}
void main() {
//Automatic type inference
writeln(min(1, 2));
//Explicit type
writeln(min!(ubyte)(1, 2));
//With single type, the parenthesis might be ommited
...
Fetching resources over the network is both slow and expensive: the download may require multiple roundtrips between the client and server, which delays processing and may block rendering of page content, and also incurs data costs for the visitor. All server responses should specify a caching p...
An object pointer (including void*) or function pointer can be converted to an integer type using reinterpret_cast. This will only compile if the destination type is long enough. The result is implementation-defined and typically yields the numeric address of the byte in memory that the pointer poin...
To view line numbers from Default view enter
:set number
To hide line numbers
:set nonumber
There is also a shortcut for above. nu is same as number.
:set nonu
To hide line numbers, we can also use
:set nu!
Sometimes you might accidentally run something in the shell that ends up waiting forever, and thus blocking the shell:
iex(2)> receive do _ -> :stuck end
In that case, press Ctrl-g. You'll see:
User switch command
Enter these commands in order:
k (to kill the shell process)
s (to st...
In order to add Firebase Crash Reporting to your app, perform the following steps:
Create an app on the Firebase Console here.
Copy the google-services.json file from your project into your in app/ directory.
Add the following rules to your root-level build.gradle file in order to inc...
You can return an anonymous object from your function
public static object FunctionWithUnknowReturnValues ()
{
/// anonymous object
return new { a = 1, b = 2 };
}
And assign the result to a dynamic object and read the values in it.
/// dynamic object
dynamic x = FunctionWithUnknowR...