¿Es recomendable lanzar una excepción en tiempo de ejecución en tiempo de compilación?

Por ejemplo, supongamos que yo creé cierto método que hace un proceso y en caso de algún error retorna null, se me hace lógico hacer un throws NullPointerException para obligar al que utiliza este método a capturar la excepción, así mi método sera mas seguro. Mi duda esta en que si esto se puede considerar una buena practica, o existen mejores alternativas para controlar estos problemas.

¿Es posible disparar un evento cuando un item de un ListViewCollection cambia?

estoy trabajando hace poco en WPF, y me ha surgido una duda.

Tengo dos ViewModel,

public class Foo {     public string Ejemplo { get; set; }     public bool Checked { get; set; }       }  public class Bar {     private ObservableCollection<Foo> mFooList;     public ListCollectionView FooList { get; set; }     public Bar()     {         //Lleno la lista observable          FooList = new ListCollectionView(mFooList);        } } 

Hasta este punto, todo funciona correcto, ya que FooList es Filtrable y editable a su vez.

El ViewModel Bar se representaría visualmente con un DataGrid en el cual aparecerá el string Ejemplo en una columna, y en otra un CheckBox que permita la posibilidad de chequear la fila correspondiente.

Lo manejo de la siguiente manera:

<DataGrid Grid.Row="1"     AutoGenerateColumns="False"     ItemsSource="{Binding FooList}"     CanUserAddRows="False" CanUserDeleteRows="False"     d:DataContext="{d:DesignInstance Type=viewModels:Foo}" >     <DataGrid.Columns>         <DataGridTextColumn Header="Ejemplo" Binding="{Binding Path=Ejemplo}" IsReadOnly="True"/>                         <DataGridTemplateColumn Header="Debe exportarse?" >                 <DataGridTemplateColumn.CellTemplate>                 <DataTemplate>                     <CheckBox IsChecked="{Binding Path=Checked, UpdateSourceTrigger=PropertyChanged}"/>                 </DataTemplate>             </DataGridTemplateColumn.CellTemplate>         </DataGridTemplateColumn>     </DataGrid.Columns> </DataGrid> 

El asunto, es que necesito detectar cuando un CheckBox es tildado, o destildado, pero no estoy logrando detectarlo con el ViewModel mediante INotifyPropertyChanged ni bindear un Command en la propiedad Checked del CheckBox

¿Cómo debo notificar a la vista para poder reaccionar a un cambio en la columna de los CheckBox?

Gracias!

¿Es posible instalar una versión que ya no existe de un paquete npm?

Tengo un proyecto en Ionic y necesito de la instalación de un plugin en su versión 2.

El plugin anteriormente permanecía a un paquete npm con versiones que iban desde 1.0.0 hasta 3.0.3, actualmente el plugin se mudo de paquete y solo contiene una única versión, versión 3.0.3. Ambos paquetes (tanto el antiguo como el nuevo) apuntan a una misma dirección GitHub que contiene el mismo proyecto y en el cual si están todas las versiones antiguas.

¿Es posible conseguir esas versiones antiguas de GitHub mediante el nuevo paquete npm?

Antiguo paquete npm del plugin: https://www.npmjs.com/package/cordova-plugin-mauron85-background-geolocation

Nuevo paquete npm del plugin: https://www.npmjs.com/package/@mauron85/cordova-plugin-background-geolocation

¿Es posible utilizar Firebase Cloud Messaging dependiendo del estado de FirebaseDatabase?

Estoy en medio de un proyecto por el cual utilizo mi propia aplicación de Android para modificar datos en la base de datos creada en FirebaseDatabase. Lo que desearía es poder recibir una notificación avisándome de cualquier cambio que se produjera en dicha base de datos.

El problema que tengo es que cuando la app está cerrada del todo, esas notificaciones no me llegan y he leído que con Cloud Messaging se pueden enviar notificaciones cuando la app está totalmente cerrada pero no consigo leer por ningún lado cómo utilizar FCM para enviar variaciones en la base de datos.

Agradecería mucho sus respuestas, muchas gracias de antemano.

Por cierto, tambíen he leído que se pueden crear tus propias funciones con Functions, pero no sé exactamente para qué se utiliza esa sección.

Var app. ¿Es necesario colocar mi código dentro de var app ={ initialize: function() { }, … }

Alguien puede explicar como funciona y si es necesario usar ese modelo para mi app. Tengo unas 1500 (mil quinientas) lineas de código y tengo todo el código suelto dentro de mi index.js eso es una mala practica o podría traerme errores. Por otra parte como uso jquery no estoy usando document.addEventListener('deviceready', this.onDeviceReady, false); sino que uso $ .on Gracias por responder